IAC could be the cause, it's the valve on top if the intake toward the right of the engine looking from the front.
If it's a vacuum leak, check the large PCV hose that comes off under the intake, almost directly under the IAC. It has a large rubber elbow, that fits to a 1/2" hard plastic line, then back to a 1/2" rubber hose to the pcv valve. The elbow is pretty notorious for degraging due to the hot oil vapor that gets pulled in from the PCV, and it begins to leak, causing a major vacuum leak. Might be tough to take off without removing the upper intake, but it's not hard at all to remove the intake. 8 6mm studs, a couple vacuum lines, and two 6mm bolts on the throtle body. Also two 8mm bolts on the EGR.
Get it idling, then spray some starting fluid or carb cleaner on the elbow. If your idle changes you have a vacuum leak there. If not there, spray around other vacuum hoses and around the intake mounting area, anywhere spraying the cleaner or starting fluid causes an idle change, you have a leak.
Hope this helps, I've just gone thru a similar problem with my duratec sable.