I would unplug the O2 sensors as described above and see what happens. That is free and requires no tools or anything else. If it runs better (CEL will be on, ignore it) that will tell you a lot. I had a lazy O2 sensor for almost a year that was driving me Crazy. Replacing it solved everything. The nuts holding mine on were also totally disintegrated, I had to get creative to remove them. But if that's your problem you'll hate yourself for not having tried that sooner. I did. I was ready to give up on my truck, even the technician I took it to could not figure it out because it was very intermittent.
Good luck. Please post up your solution once you find it, for the benefit of others.