If the valve is fast enough to suit your process response criteria but your loop is too aggressive for the valve, then your loop is more aggressive than the process needs. Use a less aggressive integral gain. If this only happens following on startup or a step change in SP or load, you could freeze or limit bias when you're far from SP to prevent integral windup and depend on proportional to get you in the neighborhood, only then allowing integral to run.
If you know the hot and cold supply water temperatures, you can estimate the required valve position to achieve the SP mathemagically and discard the PID, or just use it as a trim to the calculated setpoint.