Dev-Team has just released ultrasn0w, which unlocks iPhone OS 3.0 on iPhone 3G devices.
1. Ensure you have upgraded to iPhone OS 3.0
2. Jailbreak your iPhone 3G using redsn0w or PwnageTool (this will also install Cydia/Icy)
3. Run Cydia or Icy
4. Please add the repo repo666.ultrasn0w.com to Cydia or Icy. That last “o” is actually the number zero “0”! If you use the letter “o” you’ll get an error.
5. Search for ‘ultrasn0w’ in cydia or icy and install ultrasn0w
6. Reboot your iPhone 3G
7. T-Mobile USA users should disable 3G before using ultrasn0w
8. Enjoy

Bookmarked! These guys are flipping fast. The OS 3 has only just been released to the public and they can unlock the 3G S phones. Awesome.
The simplest solution I have found was http://softunlock.com
It worked and it was free.