You've got three options at the moment:
TurboSIM: safest in terms of bricking your phone. I doesn't modify any GSM related firmware on the iPhone. It's the most expensive method, requires hardware, and physical modification of the sim card. Not a good option if you're into swapping sim cards frequently. Should be relatively tolerant of firmware updates.
IPSF: second least impact in terms of modifying GSM related firmware on the iPhone, which means it's likely to survive updates. Developed by a company with experience in phone unlocking. Support for updates where possible. Costs less than turbosim.
AnySIM: rocky road in the past, early versions modified unnecessarily large portions of the GSM firmware, which resulted in phones being bricked by the latest software update. The latest version 1.1 claims to be more "discrete" but i've seen no source yet to personally confirm that one way or the other, the 1.1 beta still clobbered the firmware. It's free, but sometimes you get what you pay for.
Of course before you even get to unlocking there is the small problem of jailbreaking and activating the iPhone, which is a procedure in itself!
Of course before you even get to unlocking there is the small problem of jailbreaking and activating the iPhone, which is a procedure in itself!