Regarding the P172 - Lean Mixture, I suggest cleaning the MAF sensor that is connected to your air intake by the filter. These get dirty as well, and can accumulate a film, which prevents accurate readings to your computer. Take it out, clean very well with carb cleaner, and reinstall. The other 2 things I suggest is to throw in a couple Fuel System cleaners into your fuel tank. This will clean out your fuel lines & fuel injectors a little bit. If your system is "Lean," then your engine has too much air and not enough fuel. There may be a small vacuum leak by your upper intake manifold gasket or another PCV hose (or similar). Try these. Without being there, it's sometimes hard to exactly pinpoint a cause.
Speedometer - This is unrelated to everything you mentioned. Your GPS could be taking a slightly longer route, or you may have larger tires thank stock. Your speedo drive gear was not changed, rear axle gear ratio, and many people ugrade to even slightly taller tires. If your driving distance or speed is 3 miles off, I wouldn't lose sleep over it. It's comparing a preset electronic (perhaps even theoretical) reading to what you are actually drive. What size are your tires?
P121 & P122 - TPS Input Problems rarely go out. Obviously an electrical problem, try unbolting the TPS sensor on the throttle body, clean, and reinstall it very securely. Make sure it is tight, but not cranked on. Check the wires, and make sure they have solid connections and no water/moisture. Follow the wires back and make sure they are not touching anything, getting burned, or grounding out somewhere. The Power Control Module is definitely a last resort. If you could not find a problem with the wiring, I would buy and test the TPS sensor with a new one. (You could actually return it (undamaged) if you insist.)
The bad voltage readings in the TPS coupled with the lean fuel codes would definitely make a shitty ride.
Good luck, and get back to us!
Pete