Vacuum leak, at 3000 RPM it is a major leak. You can plug off all the vacuum lines except the MAP, for a test.
TPS, unplug it and see what the idle does.
IAC, behind the piston is where it sticks about half the time, spray a little oil behind the piston/plunger. Don't try to move or remove the piston (this can strip the gears). Don't try any power with the IAC removed/dismounted (this will launch your piston).
Manifold bolts or even the TB bolts.
My idle went up to around 3000 recently after a motor wash, it was a wet TPS. I also found a ground problem with the TPS, though I don't think this was a factor, with the high idle.