that's too much crud in the coolant - it suggests that there may be accumulated pockets of goo.
I concur that the radiator is a little undersized. That design dates back well before the 90s, from a time when manufacturers did not have as much excess capacity designed into the cooling system. Overheating, blown hoses, raised hoods were much more common back in the 80s--- and I don't recall when the cherokee was originally designed, but it was and is a classic design, one reason why it also has other good things going for it.
I liked the posts above about deeper radiators. In your heat, that may be your best play. But, it needs to get cleaned. And I think your going to need to actually flush the whole system out with water under pressure - not just a chemical flush. Pull hoses and run water in different directions through the engine, heater, hoses, radiator.
In my ZJ with a non-buffered gauge, it was normal to see engine temps change between idle and motion. The A/C didn't work in it, and I never saw it go above 220. Mechanical fan only.
-m