So clearly the only thing stopping the industry is the telcos who would very much like to make it as difficult as humanely possible for you to switch carriers. Especially in the US where there is a lot of competition and hence high churn.
SIM cards actually make it far easier to switch carriers. Compare the competition in the European market where SIM portability has been there from day 1 to the situation with CDMA carriers in the US and their refusal to reprogram ESNs.
A software solution would quickly devolve into the US CDMA system where you have to get a whole new phone to change providers.
A software solution would quickly devolve into the US CDMA system where you have to get a whole new phone to change providers.