You say you checked the IACV, but did you remove it and blow it out with carb cleaner? If not, that would be the first thing to do. Second thing is to make sure the ring in the FITV hasn't backed off. Remove the two screws that hold the cap on the FITV and screw the ring down. If neither of those fixes it you probably have a vacuum leak. You can check for a vacuum leak by spraying carb cleaner around the intake manifold to see if you can find a place where the engine RPM increases.