I use hyphens only in all I do. I’ve done this for years both in content and in the naming of links, creating website architecture, and for search engine optimization. Specifically that is only using hyphens (-) instead of an underscore (_).
Here’s a quick note from Webmaster World forums on that issue:
A hyphen (as is probably consistent with language use) returns a mix of results for the words both used separately, and joined together – somewhere between [key word] and [keyword]. It’s the preferred word separator within website URLs, since other punctuation characters that are treated as a word-separator have specific functions within a URL.
Underscores are treated as a letter of the alphabet, which is why you can [url=http://www.google.com/search?q=_]search for an underscore directly[/url]. Use underscores in content if your visitors include an underscore when searching (e.g. if you had a programming site).
Note the important information on hyphens here that search engines will return both the separate and joined together word. So if you want to match more searches it is hyphens all around. I even use this same technique when it comes to selecting a domain name where writing it out and keeping it short are not important.
It actually used to be that underscores in URLs were considered stop characters by search robots. Google did announce this past year that they have surmounted that obstacle and were not equally indexing underscores AND hyphens. For me, I simply use one syntax and for ease of use only use one way which is hyphens on everything. You’ll find no underscores on websites that I design or optimize for that matter a stronger match to more keywords is just simply better policy.