Have you removed cleaned and lubed the idle air control valve?
It's a cylindrical device using two bolts holding it on the intake manifold near the throttle body, with a two wire electrical connector. Take it off. Hit the inside with some WD-40, then cycle the valve a few times with a pair of needle nose pliers. They are around $50 at the parts store, but I have yet to encounter one that couldn't be saved.....