One technical reason that it's hard to deploy viruses for OS X is simple: we don't use rely on other Microsoft products. Most Windows viruses don't exploit holes in Windows itself, but rather Explorer or Outlook Express, both of which are riddled with bugs and holes. Most Windows viruses would be unable to spread if people would just use Firefox and Thunderbird instead.
The few proof-of-concept "viruses" we've seen for OS X use similar tactics: they go through Safari and Mail. In a way, it's a shame such a majority of Mac users use Safari (especially the less tech-savvy ones). The lack of diversity makes Safari an appealing target, just as Explorer is on Windows. And Apple just did something dumb with their "Open 'safe' files after downloading' feature. That's been exploited two or three times now, and while Apple has since patched those specific vulnerabilities, I think it's just a matter of time until another one is found. I recommend, as I always have, that you turn that option off (and any similar options in Mail).
Also, I think Mac OS X's default settings lean more towards security than Windows XP's. I've heard that Windows has some remote services enabled by default that probably shouldn't be. (I'm no expert on Windows, so I don't know the details.)