We all have bad days, but there should be serious consideration given to letting this employee go before he kills someone inappropriately in the line of duty.  I personally yell inside my car at stupid drivers, but to actually stop them and assault them verbally is crossing the line of good judgement.

Does it take a big error, then legal action and a big monetary penalty to get administrators to do the right thing?  Use common sense.