I batch sparge and I've found that to get my mash up to 168F, I need to add water at two different temperatures.
When it's time to lauter and drain, I add my smaller sparge water addition at near boiling temperature. This brings me up to about 160F-165F usuallly. I add that smaller first water addition in, stir quickly to try and even the mash temperature out as evenly as possible and then let it rest for about 10 to 15 minutes. While that is happening, the heat has been turned off on the remainder of my sparge water. By the time I lauter and drain through my two 48 quart coolers, my remaining sparge water has been cooling down.
When it's time to add my larger addition of sparge water to the two mash tuns, my sparge water is down to about 190F. I'm at about 165F to 168F once the mash temperature settles in after that addition.
I recently upgraded to the two cooler system to get 10 gallon capacity. With my one cooler system previously, I actually had to wait about 10 extra minutes before adding the larger sparge water addition to let my grains cool down and sparge water cool down a little, so that I didn't overshoot 170F. Since I have to lauter and drain two extra times to get my first runnings now, I no longer have to wait for the temps to drop. So, my process hasn't been slowed down as I had feared. Just more drainage time, instead of waiting for temperatures to drop time.
When I first started all grain brewing, I was adding all of my water at about 192F to 195F and I was always coming up on the low side (low 160'sF).
I'm sure that for short periods of time, some of my grains experience quite high temperature spikes that are anywhere from 190F to 210F, but I haven't noticed any graininess or astrigency in my brews.