We were having the same problem with ds, 22 months. We finally decided that after dinner we all 3 went into the bathroom and closed the door (solving the wanting to run around the house with the toothbrush issue). Then dh and I would brush our teeth, and hand ds's tootbrush to him. We would make a big deal out of brushing, he would kind of imitate, and then every once in awhile dh or I take his brush and get a good swipe at a different portion of his teeth. Dh and I say "aaah" while we're brushing our teeth, and then say "aaah" to ds to get him to open his mouth wide enough for us to get a brush in now and then. This has actually been working for us pretty well. We too had tried letting him brush our teeth, playing games, etc., and nothing had worked.
We decided to do it after dinner rather than right before bedtime because sometimes ds was tired and cranky before bedtime, and then it was just a big battle. Sometimes he still eats something after he's brushed before he goes to bed, but I don't worry about it. At least his teeth are finally getting somewhat clean!
Oh, and we also got him a little stool that allows him to just be able to put his brush underneath the running water at the sink. He loves to stand on this little stool and rinse his toothbrush inbetween brushing.