Dustin,
It could a couple things, one is the TPS malfunction as you note.
When this happens, and you reset the TPS do you find that the last setting is actually changed??? If it was set at say... oh, . 75vdc did you find it was no longer there but higher/lower??
When I set mine, I make sure to cycle the throttle open/closed several times, then recheck the value I just set to confirm it has been retained.
If you find that the value is still intact or darn close +- . 05vdc then the TPS is most likely not the culprit.
If it is the TPS, you'lll need to remove the black TPS body itself from the bracket its sitting on. There are commonly two screws on diagonal corners holding it down. Carefully remove those screws and lift the TPS body off. You'll see the underside has a slot in it, and the remaining part on the bracket has a key (both plastic). Turn the TPS over and spray some electrical contact cleaner into the bottom of the TPS. Use some compressed air and blow out/dry out the cleaner. Re-install, set your voltage and test drive.
Some have actaully used a dremel tool, and carefully removed the center section from the top of the TPS, cleaned the innards well, applied some dielectric grease, then epoxy'd the center back on. A number of guys have had good result doing that.
I think there are some pics in my readers rigs gallery that show the center removed if you want to look.
Your symptoms also possibly sound like the speed sensor. It commonly effects the OD shifting. One of the main symptoms of this is the speedo dropping to 0 or the speedo thrashing up and down at random times/speeds.
Get back to us with some more info on symptoms/observations.
Bob.