There are really only 2 possible causes for any fuel injected engines to idle too high.
One would be that the ignition timing is advanced too far...and the other would be that unwanted air is entering the combustion chamber.
Naturally, the throttle plate must be fully closing at idle.
When ignition timing is being set on your vehicle, there is an important step that many younger technicians may be unaware of. This is the "Set Timing Connector".
This must be unplugged in order to set the ignition timing correctly.
The Timing Connector breaks out of the engine wiring harness conduit adjacent to the distributer. It is a single wire sealed connector that has a tan with black stripe lead.
Many times this connector is very difficult to locate. It can even be taped up in behind an electrical plastic cover or even hidden under the the engine harness where it is not readily visible.
Base Timing, with Manual and Automatic Transmissions: 0°(TDC)
NOTE: Timing specifications are listed on the Vehicle Emissions Control Information label under the hood. Always follow the Vehicle Emissions Control Information label procedures first before using the following procedure.PROCEDURE: Set timing under the following conditions:
If a qualified technician is unable to find any external vacuum leaks on your vehicle, then the next step after being sure the ignition timing is set correctly is to check the operation of the Idle Air Control Valve.
Any type of Vacuum leak will cause a high idle RPM. It may be coming from The Valve that is designed to open up and allow additional air to flow into the engine. Your engine should be equipped with a Idle Air Control Valve. This Valve may or may not have come with the new Throttle body you have installed. This valve will normally have a square 4 terminal/wire connection and is a motor that will move a pintle in and out to adjust the amount of air for the ECM requested idle RPM.
The IAC valve must be functioning both electrically and mechanically in order for the engine to idle at the correct speed or RPM.
Below is a diagram of the IAC circuit as it is connected to the ECM.
Testing the IAC may require a scan tool in order to observe the IAC counts during testing.
The ECM sends voltage pulses to the IAC motor winding causing the motor shaft and valve to move "in" and "out" a given distance for each pulse (called counts) received. This movement controls air flow around the throttle plate, which, in turn, controls engine idle speed.
"Scan" tool must be in open mode during test. Keep A/C "OFF" during entire check.
An unstable idle may be a system problem that cannot be overcome by the IAC. "Scan" counts will be above 80 counts, if too low, and 0 counts, if too high.
Your technician must keep in mind that the ECM looks at many parameters such as "A/C request", to determine where it moves the IAC pintle for optimim idle RPM adjustments.
I hope this information is helpful
The IAC can be brand new, but if the signal it receives from the ECM is incorrect, then the IAC pintle may be out too far when it should be shutting down the air to the engine.
There are testers used to check to be sure the ECM is sending out a signal to reduce air flow by moving the IAC pintle in.
IF you are absolutely sure there are no external vacuum leaks allowing extra air into the engine...like a bad power brake booster leaking air...or a gasket under the throttle body leaking air...then you should try plugging off the inlet port on the top of the throttle body when the air enters for IAC control. If you plug the IAC air inlet port on top, and the RPM's drop way down, then your IAC is not moving the pintle inward and closing off the air flow as it should.
Let me know how that goes.