Okay, there's a lot of things here that we could look at, now that we have more info on the setup.
One thing that sticks out here though, is the fact that timing without the jumper was done. It must be jumped as the ecu advances timing right off the bat, and that includes at idle. You cannot set the idle properly without the jumper in place!
Also, the idle must be set properly for timing to be adjusted correctly. You'll need to set the idle to the correct spec depending on whether its manual or auto. At 900-1000rpm idle, the engine will sometimes "hunt", meaning the idle will go up and down slightly, which could be causing the timing to jump around slightly, although I doubt that's what's causing it.
If the engine's been overheated before, I'd go ahead and do a quick compression/leakdown test to make sure you have no bad cylinders. I don't know if this is a 4 or 6 cylinder, hopefully its the 4, as they are much easier to repair, as well as cheaper. Judging by your comment about the knock sensor, I'm going to assume its the 6 cylinder.
Which brings me to the next thing. I'm sure you've read up on the issues with the knock sensor wiring on the 3VZE, so I won't cover all of that, but suffice to say, that could also be one of the issues. I wouldn't get to that right away though, work through the easier stuff first.
And as for a coil, I doubt its that, but it is possible. Weak spark can be caused by a coil going out, but after 240 something thousand miles on my truck, I still have the same coil and have beat on my truck in cold winters and desert heat of SoCal, and several years in Hawaii with the humidity, salt air and heat there too. Never been replaced and its still going strong, so to speak!
Now, the final thing for me is the fact that driving with the diagnostics jumper in place changes nothing on your vehicle! That right there tells me something is wrong, you should notice:
1. lower idle when its jumped
2. lower power when throttling up or taking off from a stop
3. with foot off the gas pedal, check engine light should be blinking
When you jump it, do you get any codes at all? Are you at least getting a steady and equal quick on-off-on-off flashing? If not, your tps is not adjusted correctly. Sometimes touching the throttle ever so slightly will get it to flash, that means your tps is adjusted too far one way and it needs to go the other way. Don't recall which way it needs to go, only that it should turn slightly more in the same direction as your throttle plate when it opens.
One other thing here. You mention the surging at speeds, if this is an auto trans, there's a completely different set for getting codes from the trans and I remember reading something about surging with an auto there were codes set to the auto ecu or something. You'll have to search for it though, unless someone remembers where that thread is.