The only thing I can tell you is that this is a hard habit for children to break. My son stopped when he was 3.5. Before that, there was NOTHING I could do to stop him. When he did stop, it was because he started spending most of his time away from other children, and the habit was broken, so when he was introduced to other children, he had sort of forgotten that reaction.
Instead of the oh so overused statement of "No biting" or "No hitting" tell your child what he/she can do. "We use our teeth for chewing. Show me how you chew this apple"
"We use our hands for coloring and building. Show me what you can create."
It is a struggle, but the more you use positive statements the quicker the negative actions will cease.