Here's an extremely easy way to enable tethering on your iPhone 3G and 3GS (even on AT&T!) by just visiting a site on your iPhone's Safari. No jailbreaking needed. Here's where you go:
Then scroll down to the Tethering & Internet Settings, then choosing your country and provider. This works for both AT&T and T-Mobile, and will let you install the appropriate configuration.
Now go to your settings and enable tethering. Check the video walkthrough above to help you configure tethering.
We've been testing this for about a day and it's been working quite well. Just be careful though, that AT&T doesn't officially sponsor this and might charge you extra for using tethering while you're not supposed to. So, keep an eye out so you're not shafted at the end of the month.
And if this disables visual voicemail on your phone, just go and reset your network settings, and it should be fixed.