Most likely it is a dirty IAC combined with a computer that has learned bad habits. I suggest that you clean the IAC and throttle body then reset the computer.
Reset the computer by warming up the engine. Pulling underhood fuses 4 & 11 for at least 5 minutes (to dump the adaptive strategy memory). Start the engine with the A/C off and hold engine speed at about 2000 RPM for about 30 seconds. Allow to idle normally for about 30 seconds. Bring back up to 2000 RPN, turn on the A/C, hold speed for about 30 seconds. Allow to idle for about 30 seconds with the A/C on. Drive in a normal mild manner for about 5 minutes.
If you ask a dozen different technicians how to reset the adaptive strategy, you may get a dozen different answers. This one works for me. It is best to do a throttle body clean first.