We've got an assortment of toddler-sized toothbrushes, and I let her choose which one. That way it's not about whether we're brushing her teeth or not, it's about which toothbrush would she like to use (since the brushing is going to happen regardless, at least an attempt to, anyway
).
For us, the brushing teeth battle is all about giving her as much control as possible, while still getting her teeth clean. So, I got a sturdy stool with rubber feet, and put a small mirror behind the sink so she could see herself. She pulls the stool up to the sink herself. She climbs up on it. She points to the mirror and makes faces, etc. She's got her own toothbrushes to choose from in the holder nearby. She helps me put the tooth gel (we use Spry -- she loves the taste) on the brush, etc. I give her as much control as possible, and this helps.
Then I give her a small plastic cup and she plays with the water (which I leave running initially, just a trickle) while I brush her teeth. Sometimes she holds a different toothbrush and dips it in the cup. I sing silly songs and whatnot and when she resists, I tell her to stick out her tongue so I can brush it (which tickles, and she likes) then I sneak the brush back to get at her molars. After I'm done, then she can "brush" her teeth however she likes, or not.
That way we're ending on a good note. Before we tried letting her do it first, but this was doing two things: 1. basically teaching her she wasn't doing a good enough job -- we want to encourage this habit, not discourage it. And 2. it was ending the brushing on a bad note because she doesn't like it when I brush her teeth, usually. Tougher to get a toddler to sleep easily at night when she's all wound up and mad.
So the whole, "Mama brushes first then you can brush" thing, plus the added distractions and giving her as much control/choice as possible also helped.
But some nights it's a quick swipe and a "Drink the water please" from her cup, because honestly it's not worth it to have her in a meltdown right before bed. But I'll tell her ahead of time if she's eaten something sticky (like a cereal bar) that we have to be sure to brush our teeth really really well later on. So she's got some warning ahead of time.
We also let her play with the toothbrush in the bath, which sometimes helped.
We go through phases, but it's been gradually successful. There were some nights I had to stand behind her and hold her head still and brush a bit. She hated that most of the time, but once she had the mirror and water/cup to play with that helped. Most of the time though she'll let me brush first then she brushes afterward ("in case Mama missed a spot!"). But it's slow going for sure. The only thing we didn't try is an electric brush -- only because she tends to throw things at times. That was our next step but things got better on their own. Whatever works for you, do it.
Good luck, Mama. It ain't easy, I know!