Maybe when he gets physical, just grab him and bear hug him and say, "Hands are for hugging". Maybe that type of physical contact will work.
Maybe completely leave the situation and ignore it. Don't give him any attention. Just say something like, "Use kind hands" and leave. Maybe all types of attention that you're giving him is feeding this behavior.
Keep trying and don't expect instant results. If one thing doesn't work, try something else.