I know this is a rather old post but just for anyone that might still be researching and come across this one as I did I will give my .02 because its taken me a long time (8 months) to finally sort this issue out on my TJ. Last summer I left the top down and a quick summer downpour hit, woke up the next day and my radio was on in the Jeep, the keys werent in it just the radio was on. When I cranked it up I got a CEL code P0123/122/and 121, ran down to auto zone to grab a new TPS sensor and it didnt help. Got back on the highway and noticed my cruise control didnt work either, the Jeep was sputtering/stalling, I could smell gas and my left blinker was acting funny (sometimes it would turn on, sometimes not...sometimes it would blink 10 times a second like I had a bulb go out.) To wrap it up, turns out it was the clock spring, after replacing it ($250 part later!) my cruise worked, blinker worked, no more sputtering and stalling. Funny thing is I had read a post in this forum just prior to all this that mentioned the clock spring and I blew it off (regret that now) I figured how would a clock spring make the engine stumble on itself...well it does, the 5 volt main line that the clockspring rides on, is responsible for many other things as well, and when it got wet and corroded well you get the idea it can send any number of faults through the system from TPS to Engine cylinder misfire codes, to voltage codes...all the while your Jeep is mechanically "fine" your CPU just doesnt know that so it tries to compensate for a TPS fault that doesnt exist which causes your engine to idle higher than normal.
*edit* mine is a 00 TJ 4.0L 5 speed.