If you really mean P0304 (no B) it's a cylinder #4 misfire.
See this; http://autorepair.about.com/gi/o.htm?zi=1/XJ&zTi=1&sdn=autorepair&cdn=autos&tm=15&f=10&su=p284.9.336.ip_p504.1.336.ip_&tt=2&bt=1&bts=0&st=14&zu=http%3A//www.obd-codes.com/trouble_codes/
A P1406 error code on a 1996 Pontiac Sunfire indicates a faulty EGR valve. This can result in poor engine performance and should be replaced immediately.
how to remove key cylinder on 98 sunfire
Are you sure about that code? I'm not seeing it in the ODBII code list. http://autorepair.about.com/od/obdcodedatabase/a/OBD_1996_year.htm
cant you need a scanner to check codes from 1996 and newer
Trouble code P0440 means: EVAP System No Flow During Purge
Trouble code P0747 means: Pressure Control Solenoid A Stuck On
Trouble code P1582 means: Idle Adaptation at Limit
Trouble code P0171 means: System Too Lean (Bank 1)
Trouble code P1320 means: Distributor Signal Interrupt
Trouble code P0500 means: Vehicle Speed Sensor A
Trouble code P0113 means: Intake Air Temperature Sensor 1 Circuit High Input
Trouble code P1582 means: Idle Adaptation at Limit