Evil C
Has your mechanic checked fuel pressure readings while test driving the vehicle? If there isn't enough fuel pressure in the fuel rail (which can be caused by a dying fuel pump or a major restriction in the fuel line), that can also affect how the engine operates. You may also want to have your mechanic check for a leaking head gasket.
thebax2006
For the price of the coils you could have had the problem diagnosed by a mechanic.
Anonymous
Friend when you bought those coil packs did you pay very close attention to the number that was written on the top of the coil packs? Yes they all look alike! But they're not! there's a chip inside every one of those coil packs that reports to the ECM computer. If you put those coil packs in the wrong place. Your car is going to run like crap because your ECM computer can't time it properly.
.
Modern engines have all these sensors that, in my experience, can cause that. There are quite a few things that can cause the P0300 trouble code to trigger the Pontiac Grand Prix. A mechanic needs to look at it.