GSM Phone Source and Cut Your Sim can unlock any iPhone 4, 3GS, or 3G for a hefty fee of $179 and $169 respectively. CDMA devices are not supported yet and nobody mentions if they will ever be. The whole process is performed remotely and it should not take more than a few days after the payment is received. All the information that the companies require is your iPhone's unique IMEI number and nothing more.
Now some of you may think this whole unlocking thing may not be OK with Apple, and you will most probably be correct. The remote unlocking process is said to work by somehow adding the provided IMEI number to Apple's whitelist – a procedure which might involve hacking into Apple's database without its awareness. Nevertheless, the unlocking services have been reported to work flawlessly, but it is not sure if Apple is not already planning to take action against them.
Many people resort to jailbreaking their iPhones in order to eventually unlock them for use with a carrier of their choice. Even though it does not cost a dime, the whole process involves a slim chance of bricking the device since it basically tinkers with Apple's stock software. If having an unlocked iPhone is that important to you and money is not an issue, maybe you might want to check these remote unlocking services out before Apple finds out and steps in.
source: GSM Phone Source, Cut Your Sim via Crave