Another vote from me for using Google Sync. What I did was downloaded it from m.google.com/sync (as mentioned previously in this thread) and let that run for the contacts on my BB. Keep in mind, however, that based on how certain contacts are formatted in your BB, it might make some minor adjustments. For example, some contacts that had a company name, no first/last name, and an e-mail address got auto formatted to put the e-mail address in as the first name. So you may have to do some minor cleanup in the BB afterwards if you plan on still using it as well. After that onetime sync, I uninstalled Google Sync since I sync my BB with Outlook 2007 regularly.
After the sync was done, I went into my Google Contacts account and did cleanup there (most e-mail addresses were labeled as "Other" instead of Work or Home and a couple other minor things needed to be changed. I am anal about that kind of stuff). After I was done with that, I activated the contact syncing on my Nexus One and within a couple minutes, my contact list was complete and perfect.