My Wife's Subaru's check engine light recently came on, when we went to auto zone to check the code it came back as a cylinder 3 misfire, we went to our mechanic and he changed the sparkplugs, but after a week the check engine light came back on and now the car sometimes runs roughly when started (though if you turn it off and turn it back on it runs smooth again). I am thinking of changing the injection coil, but am not sure if that is the problem. Does anyone know what the most likely problem is? (especially if it isn't the injection coil. if I don't have to I would rather not spend the 100$ on that part)
When where the ignition leads last changed? They're all different lengths on a Subaru, so swapping them around isn't an option to see where the issue is - but it's cheap maintenance anyway. The four-way ignition coil on a Subaru is pretty reliable; they do go at times; but the ignition leads are a good place to start.
Code P0303. Does the check engine light come and go or is it always on? Do you feel shaking or drive-ability issues? Are there certain situations that trigger the misfire ?
You could switch spark plugs and or fuel injectors between cylinders to see if the trouble code moves with them. Moving fuel injectors around requires using new o-rings which are not expensive.
Actually without disconnecting the fuel injectors from the fuel rail a multi meter can measure resistance between the terminals with the injector connector unplugged. If #3 injector measures a different resistance to #1 there's the problem.
If you are comfortable with working with the plugs/injectors etc.. several Subaru forums host links to copies of the PDF 'factory service manual' that describes maintenance and trouble shooting processes step by step. There's good processes and safety information in these manuals, I find them well written by Subaru. The official paid source of the PDFs is over at techinfo.subaru.com.
There could be other factors contributing to this trouble code. Knowing that the plugs, plug leads and injectors are good will help.
You can read and reset trouble codes plus view many other engine parameters with the Subaru specific open source software romraider.com - laptop and diagnostic cable required. There's also other generic low cost options to read trouble codes.