I have a system similar to yours: a stand-alone "box" that supplies cooled / heated glycol to a tank jacket, and a desire to control the temperature in the tank. Long delays before the temperate glycol even reaches the tank, let alone changes the temperature of the tank walls and the large volume of liquid inside.
Over-temperature is a problem, because of the thermal lag. By the time that the tank temperature is "happy" and starts backing off of the CV, there is so much extra energy in the pipe that it's too late.
The "box" has an internal PID controller, that may or may not be well tuned. I send it a 4-20 mA signal that represents the desired output temperature of the box.
Sound familiar?
-------------------
So here's what I did:
First, this setup is basically a cascaded loop, with the inner loop (vessel temp) controlling the glycol jacket outer loop of the "box".
Like with any cascaded loop, even though I don't control the outer loop in any meaningful way, the CV on my inner loop is the setpoint of the outer loop.
BUT, rather than have my 0-100% CV of my inner loop being an absolute setpoint (i.e., "at 100%, give me 100°C, at 0% give me 10°C"), I scale my output to be a temperature relative to to my target setpoint, and limited to a small band.
That is, if my vessel temperature is 35°C and my band is ±10°, then at 0% ("the vessel is way too hot) the requested setpoint from the "box" will only be 25°C (35-10). Similarly, if the PID winds up to 100% ("give me all the heat you can!"), the "box" setpoint is only 45°C.
Because of this, the thermal lag is way down. The process is slower to get to temperature from a "cold" start, but overshoots are way less because there is less extra energy in the system that the "box" has to overcome (and some of which will be delivered anyway because of the lag).
Eventually the system hits steady state, with a CV of 50 ±10 %.
When temperature control is off (i.e., the PID is in SWM mode), the output is set to 50% (i.e., setpoint to "box" = vessel setpoint).
----
I have several of these, and each vessel has its own range band. Small vessels with volatile chemicals have only a ±3 band; large tanks may have ±15, as they'll absorb a lot of thermal momentum without a huge change in temperature.
See how this (or something like it) will work for you.