TPS can in fact cause this issue. The TPS relays information to the PCM regarding butterfly position, if the sensor is faulty or shorting out it can cause idle problems. Best solution is verify standard voltage from a TPS from a working same model vehicle and/or engineer schematics and verify with your TPS voltage, move forward with the compiled data from your test. IIRC, the 4.7 is a single blade front facing TB, what I don't remember is if it has the adjustable spring to open and close the blade as needed.
I also noticed that you mentioned an ICV sensor, I assume this is the same thing as a IAC (Idle Air control) sensor? From prior experience these are fragile sensors, and even after a good cleaning may still show intermittent issues.
I would start with verifying voltage from the TPS (throttle position sensor) and move on to the IAC/ICV sensor.