Hi thank you for your question hope this helps.
P0351 = Ignition Coil
#1 Primary Circuit Peak Primary circuit current not achieved with maximum dwell time.
P0305 = Cylinder #5 Mis-Fire Misfire detected in cylinder #5.
P0303 = Cylinder #3 Mis-Fire Misfire detected in cylinder #3.
P0301 = Cylinder #1 Mis-Fire Misfire detected in cylinder #1.
Lets bank these codes down and check them one at a time.
The P0351 could be the cause of the whole problem.
Most likely a voltage regulation or grounding issue. check the voltages coming off the alternator
for at least a few minutes and watch for voltage spikes.
Start with the basics. check the battery
ground and then the ground strap that goes from your chassis to the motor. since its 9 years old I bet there is corrosion/gunk on the motor ground strap. pull it off, clean all the surfaces and reinstall. then check the engine wiring harness grounds, consult your wiring diagrams in the repair manual to find those. The orange wire with the green stripe is a ground wire going to nearly every sensor and all injectors as well as the coil and many other things.
I would still check your voltage regulation, although it could probably be off because of a ground issue too.
Now for the random misfire code have you tried moving the bank 1 coils to bankXXXXXyou know if it is a coil problem.
Hope this helps