Personally, I use InkScape instead of Visio because it's free. It doesn't have any good symbols, so I had to make my own. It's okay though—once you've gotten a hang of how to use the software, it's easy to make your own. And if you ever need a new symbol, you can make one that matches your exact style.
I had a professor in college who wrote several textbooks. He drew all his schematics in Paint. PAINT!!! How painful! But at least his schematics looked good!