About the time my kids turned 2 they stopped letting me brush their teeth. One of my boys was exceptionally stubborn and I had to pin him down. I tried everything I could think of (making it a game, brushing my teeth at the same time, looking at our teeth in the mirror, threatening timeouts, etc) but nothing worked. Then a friend suggested that I give him choices, and that he can choose to do the right thing (let me brush his teeth) or he can go straight to bed. I was prepared to send him straight to bed for a few nights if that's what it took!
Here is what works for us... at bed time each child gets a turn at the sink. I let them brush their own teeth, then they must let me brush their teeth. After brushing they get to wash their hands and drink water. I try to give them a lot of freedom with the washing and drinking so that it is fun for them. They LOVE to drink from a cup and spit water into the sink. Or they just stare at themselves in the mirror while they slowly pour out the water. If any of my kids do not let me brush their teeth then I clearly tell them that they will have to go straight to bed and they will not be able to wash their hands, drink water, or read books. More than once I have had to pick up someone and carry them towards their bed, but they always scream "brush teeth!" by the time I get them into their room. When we get back to the bathroom, they always let me brush their teeth.
By the way, using choices/consequences has been working fairly well for us all day long. We just always have to be able/willing to follow through if they pick the "wrong" choice!