You can test the TPS sensor yourself. Mine was doing the same thing as you described. I took an ohm meter and measured for continuity at the tps connector. It is a three pin connector and should have continuity with the engine at idle at two of the connectors, and have continuity at WOT on the other one of the two. This connector is right by the bottom of the air cleaner at the front of the engine. It is quite expensive as it comes with the throttle body. I removed mine and took it apart and cleaned it. Works like a charm.