I also wonder why people say 'punch in the face' instead of 'punch on/to the face'. Can anyone explain?
I have never seen any explanation but the only distinction that I can think of is that blows that can be received in a face to face fight such as a boxing match are "in". So a boxer punches you "in" the face but a robber hits you "on" the head. I have absolutely no idea why this distinction exists.
Or is it better to say 'He punched my face/nose/eye socket/head'?
And in American English, too.Both hit in and on are OK in BrE.