Thanks for the help. The problem with my 04 is that it won't go into high idle when cold and sometimes stalls. The idle is so low that even after I do get it to idle (very low idle) - the load from shifting the car from park to drive cars it to stall.
Have you tried the PCM idle learn procedure? To my understanding, this is typically done when any of the PCM inputs, i.e. PCV, EGR, MAP measurements changes.
Since this procedure is fairly simple and won't cost you anything, it could be your first step in isolating the problem (assuming you haven't already done this of course).
Here is what you could try:
1. Clean the PCV valve and passages (also confirm they are functioning properly)
2. Clean the EGR valve and passages (also confirm they are functioning properly)
3. Perform PCM idle learn procedure
To clean the PCV valve, just remove it and spray it out with carb cleaner. The PCV valve should be located near your engine oil dipstick.
To clean the EGR valve, do the same. Be careful not to spray any electrical connections though.
To clean the PCV/EGR passages, I'd just access the top of the air plenum first to see how bad it is. You can use carb cleaner here too, just don't go too crazy, just enough to clear clogged passages. If you find that it is really gunked up, you might want to go deeper and actually remove the air plenum so that you can clean all the way to the intake manifold itself. Allow any carb cleaner to dry out before proceeding (to avoid possible hydro locking the cylinders - not really a danger since carb cleaner is combustible, but I just like being extra cautious).
To perform the PCM idle learn procedure:
1. Disconnect negative lead from battery terminal
2. Turn on head lights to dissipate any residual charge
3. Reconnect battery lead
4. Start engine and hold 3000 RPM with no load (in park or neutral) until radiator fan comes on.
5. Let engine idle for 5 seconds.
6. Drive vehicle at steady speed between 50 and 62 MPH for about two minutes
7. With A/T in "D" position, M/T in 5th gear, decelerate from 62 MPH by completely releasing throttle for 5 seconds.
8. Bring vehicle to a stop. Leave engine running at idle speed. If engine is stalls or is shut off during this part of procedure, repeat procedure starting in step 6.