Cold idle should be 1,200
Warm idle 750-800 with automatic, 700 with manual
If idle is not stable warm then unplug IAC valve wire, this will close it, and idle should drop to 500 or engine may even stall, either is OK it means no vacuum leak.
If idle stays high you do have a leak somewhere.
Low power is either low compression or incorrect air/fuel mix
When was timing belt last replaced, this controls compression?
Compression test would tell you right away if this is the problem or if it isn't so look elsewhere.
You do need to remove 1 spark plug from each cylinder and then do the test.
The rest of the issues are a bit harder to test for.
You can remove the O2 sensor and then test drive, this would eliminate exhaust blockage as the problem, but very loud
With Cold engine computer doesn't use O2 sensors to adjust air/fuel mix, EGR is also not used cold, so if engine runs better cold could be issue with one of these.
Fuel system needs pressure and volume, pressure can show good but lacks enough volume for high demand, load.