WHAT CAUSES CODES P0300, P0301, P0303, P0304 ON

2003 Toyota Prius • 158,013 miles

The car will run fine for 10 to 20 minutes then the check engine light comes on & it starts to vibrate. Had it checked for codes got: P0300, P0301, P0303, & P0304. Changed plugs & checked coils. Still has the same problem. Sprayed cleaner on MAF & reinstalled with the same results. Took to a local garage & they couldn't figure out what was wrong either & recommended I take to dealership problem is dealership is about 45 mile away & I'm afraid to go that far in it as the vibration gets worse the longer it is on.
November 28, 2011.

Have you checked fuel pressure?

No I assumed that the garage did though. Will have to check to see how it is done. I know that they disconnected one of the coils & it started running fine but don't know if it would have continued to do so. Was a little cooler today & I was able to go for 30 minutes without it starting to misfire.

Nov 29, 2011.
That sounds electrical. But, the fuel pump is electric too. Also, I have seen crank sensors do this when they get hot.