When we were first looking into getting a puppy, I was reading up about dog care and training and had read that it is best to train a pup to be comfortable with having his mouth and teeth handled at a young age. Sadly, I haven't done as much training in this area as I would have liked and now Oscar's really finicky about us touching his mouth and teeth.
We give Oscar Greenies, which are dental chews shaped like toothbrushes, but our vet compared using Greenies for cleaning teeth to giving someone chewing gum to clean their teeth. I've also read about dogs experiencing digestion issues with Greenies, but I have also read that Greenies have changed their recipe in order to make the chew more digestible and more flexible so it's less likely to cause digestion troubles. We haven't experienced any problems with Greenies so far, but I'd like to get away from giving them to Oscar too often and train him to let us brush his teeth instead.
There is a video and an article here which I have found pretty useful about brushing a dog's teeth. After watching it, I tried putting some puppy toothpaste on my finger and running my finger over Oscar's teeth. He pretty much just licked it off, but I did manage to at least run my finger over his teeth without him nipping me so I think that's progress. It will probably be a long road from here to the point where he'll let us actually brush his teeth, but since I've heard that having a vet do a dental cleaning can cost over $200, I'll definitely keep trying.