Get a DMM and check the output of the TPS. It has 3 wires:. 5V reference, ground, and signal. Check voltage at each wire with the key on until you can determine which is which. Connect between the signal wire and ground, and make sure the voltage is around .5 to .7 volts at 0 throttle and around 4.5 to 4.7 volts at full throttle. Have a helper run it through its full range, slowly, to check the sweep and look for drop outs. If you have a code reader that reads live data, you can do the same by looking at the TPS % with the key on. Should go between 0 and 96 or 98%. Also, if you have said code reader, look at the ECM's coolant temp and, with the engine cold, make sure it is at or very close to ambient temp. I don't remember what units the MAP sensor displays in, but it should be around 14 psi, 750 to 760mmHg, or 1 Bar. If it is a lot different, there is a problem.
Pull the MAF and inspect the resistors. If they are anything but shiny silver, hit them with some MAF cleaner. ONLY clean the MAF while it is cold and disconnected from power.
If all else fails, it is could possibly be the EGR. I had the same symptoms and an EGR valve code stored. Replaced the EGR, no more code, no more stumble.
Guessing and throwing parts at the problem gets expensive, quickly. You may be money ahead to pay a GOOD diagnostic tech for a couple hours of his/her time to nail the problem down.
Edit:. What skylark said is also a fair possibility. I didn't rehash. Also, make sure the throttle blades are clean and the throttle body is free of buildup.
Sent from my XT1585 using Tapatalk