When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
So I got a 99 D with 5.2 slt. It has a p0304 I've replaced the spark plugs (checking the gap) wires cap and rotor. New map sensor tps, and upstream 02 sensor. Couldn't break the downstream loose. I just redid the head gasket, and injectors. I don't think it's fuel or spark related, I'm thinking it's the lower o2 or the computer. Every so often this code will disappear, but it still has the miss. I'm getting 13 mpg at the moment.
If the P0304 code is the only one you have I don't think it is an O2 sensor.
My guess would be the injector. You could switch it with another and see if the code moves with it.