I have a lot of water bottles. I have an old Camelbak water bottle, generation 1, that I've had since college. It's been a very trusty travel companion, but recently found a home in my husband's trunk. I have a newer Camelbak bottle with a filter, that is usually in one of my duffel bags. I love the straws, and the bite cap. I also have a classic purple Nalgene bottle that I got when I visited my college as a senior in high school. Best college gift ever. I also have several plastic water bottles with the screw off lids. These ones are definitely the hardest to clean.
I've read a lot of ways to clean these bottles, and the lids. I try to keep them dry, rotating them out during the week and drying them in between. I put them in the dishwasher. Sometimes they still get that funky smell in the cap, though. Here's my latest, and most successful, cleaning method:
The result? Fresh as a daisy. For a water bottle.
I hear that using efferdent tabs or hydrogen peroxide can work as well, especially if you use any sort of flavoring in your water bottles. I don't; if I want flavor, I usually just put it in a disposable plastic bottle that I reuse once or twice then throw away, just so I won't have to worry about the germs and cleaning it out.