I currently have the max travel rates set at 14,000 mm/min. That's pretty quick. I tried 15,000 and got some interesting resonance from the machine.
14,000 mm/min is a pretty impressive thing to see.

I'm also here to tell you that if you run the machine at 14,000 mm/min (or even only 10,000 mm/min) and ram it into the limit switch, it will over-run it a bit before it actually stops. Which means that it will probably ram the end plate. But it will stop pretty quick. The mounts I designed should prevent limit switch destruction in the event of an over-run although the levers on the switches might get bent if you do it a lot.

The annoying thing about tripping a limit switch is the dance you have to do to unlock the machine - although it's no different than what you have to do on an S1 or S2.
Grbl detects the switch change of state as a limit trip, no matter whether it's going from open to closed or vice-versa.
Which means you have to do the following after hitting a limit switch:
- Send Grbl a 'soft reset' to get it out of alarm state.
- Send a $X to Grbl to unlock the machine.
- Move the axis that hit the limit away from the switch - which will send Grbl into alarm state again as the switch opens.
- Send Grbl another 'soft reset' to get it out of alarm state again.
- Send Grbl another $X to unlock the machine again.
- Move the axis that hit the limit away from the switch.
- Now you can re-home the machine because Grbl unlocks the motors when you hit a limit switch and it doesn't know where it is.