I have found a question regarding these words here:
たたく versus ぶつ in a JLPT question
Which mostly deals with idioms, however.
So far as I understand it 殴る means somewhat violent beating and punching. What about the other two?
There are questions like this on the Hinative and the other Japanese sites, but I'm having trouble comprehending the answers and making a good distinction between the synonyms. Here are similar threads if these are of any help:
https://hinative.com/en-US/questions/6180065