Since the release of PurpleRa1n, the first iPhone 3GS jailbreak, you are now able to unlock your iPhone 3GS.
To do so, you first have to jailbreak your iPhone with PurpleRa1n (see PurpleRa1n tutorial), and then, simply install UltraSn0w from Cydia.
It’s that simple! Note that even though PurpleRa1n got an update, it’s still a little buggy.