I'm having the same problem, and my IAC was replaced new only a couple of months ago. I'm suspecting the computer, or one of the sensors that send input to the computer. Maybe a crankshaft position sensor? Just a guess. With mine, at times it idles smoothly at 1500+ rpm, and it times it tries to idle at 500 or below, which makes it very rough. It seems that the computer doesn't really know how fast the engine is running.