There are are so many things, but on GM 4.3 liter, I always check to see that the Electronic EGR valve is not stuck open with a piece of carbon. I have fixed this 50 times. If the car runs better on the highway but really runs rough and rich at idle, then look at this. Other wise, you have to do a data scan and trace down the problem. Check the EGR first with a scanner. It should read close to O% at idle. If it reads 10% or more, it is stuck open.