Grand Cherokee Laredo 4.0 with fast idle

I have an '03 Grand Cherokee with the 4.0 i6. My newest problem is this. At startup, the rpms scream to about 2000-2500. When it was running well, it would start and idle at about 500-1000 rpm. I was told that the most likely problem was either a vacuum leak or the idle air control solenoid. I couldn’t find a vacuum leak so I changed out the IAC making sure the o-ring seated properly, the wires on the harness were in good condition and making sure that I reattached all the vacuum hoses afterward. I started the engine and I got the same thing. It’ll shoot up to about 2100 rpm and only after about 5 min of warmup will it come down to 1000-1500 rpm. I turned on the AC and turned the steering wheel to see if the IAC would compensate for the load…and it did. The IAC is working, but my idle is still way too high. Did I miss an adjustment step somewhere? The old one was covered in soot. Should I have cleaned out the place where it goes in? What did I do wrong? I am most concerned with cold startups (no oil in top end and moving parts, etc) and putting it in gear at such a high rpm. Please help.

How did you check for vacuum leaks? I like to feed propane around the entire intake and all vacuum hoses - clean, fast and easy. You can just rig a hose onto an unlit propane torch.

After double checking that I would inspect and clean the throttle body including a check of the return spring. Then I’d use a multimeter to check the output of the throttle position sensor. While I had the intake apart for cleaning the throttle body, I’d also be cleaning the mass airflow sensor and its connectors for good measure.