Hi,
You can unlock iPhone 3GS by Remote unlocking. The unlock is permanent and you can get this unlocking service from online sites. Simpleunlocking.com is where i unlocked my iPhone, Check it out!! Just Specify your Phone's manufacture, model, country, Network and IMEI, you'll be able to get the unlocking service!!