Before replacing the IAC valve, get the codes pulled to see if there are any other problems.
I was in the same situation as yourself not to long ago and this is what I found to be my problems:
Faulty EGR valve position sensor (clogged)
Faulty EGR valve solenoid (clogged/mechanical malfunction...it did not throw a code because the solenoid portion of it was still functioning properly.)
Faulty Throttle position sensor (150,000 mile wear-out)
I never had to replace the IAC valve. Yes, in a lot of cases it is the problem part, but it is also one of the more expensive parts.
Good Luck