I have had a similar experience with my 1997 Jeep Grand Cherokee, at first it started to not shift as smooth as it should, this would kind of come and go. Few months later, it would get to 2nd gear and have trouble shifting to 3rd didn't think much of it, checked the fluid went on with life.

Recently coming back from a 2 hour drive the check engine light comes on and the jeep starts to surge not really wanting to go over 55 mph, so I babied it adding gas very slowly so that it would shift, got home checked the code and it was and oxygen sensor, it was dying not wanting to idle, surging, replaced that the jeep runs fine for a couple of weeks.

Currently, it starts to act up, no surging (keep in mind that I have been driving it very easy, applying the gas very slow and smooth), just not idling and acting like its getting stuck in 2nd gear not downshifting correctly. I can coax it to downshift by adding and taking throttle away and the it idles fine no stalling or anything. And there are no check engine codes.

What I am going to do before I go deeper into the transmission,
Replace- Governor Pressure Sensor Solenoid ($90)
Install new Transmission Filter kit and Fluid. (varies)

Hopefully this will work (cross fingers), if not Probably a Torque converter and probably transmission rebuild time.

-Signs of a Bad Torque Converter-

I don't really know if this helps much, but that my ongoing experience with my jeep, I would say that your problem could very well be transmission, what I would do is call a well known and large transmission shop and tell them your problem and see if they have any common fixes or heard of any similar problems to yours.