I'm on the fence about virtual sims. On one hand SIM cards are redicuously huge. As someone who used to fix phones for a living I can assure you the sim card slot on the iPhone 4 (which uses microsims) takes up 1/3 of the space on the iPhone motherboard. Don't believe me? Here you go. Considering SIM cards can easily be emulated on software, or built into a secure holding area in the SoC (something like Trusted Platform Module) there is no need for such large sim cards.
There is no technical reason that virtual sims can't be swapped, on the contrary they're easier to swap since they can be updated with software. Imagine you go on vacation to a new country, you can pick a network, enter your credit card number and boom you have service.
On the other hand the problem is that carrier would push back on such freedoms for sure, which would make network switching impossible unless you bought a factory unlocked phone most likely because this would mean instead of using a well defined standard for sim swapping you'd have to rely on someone hacking each manufacturers particular sim storage system.
Furthermore, swapping an account between phones would also be difficult unless the standard included a way to retrieve your secret key (what you sim card actually holds) and transfer it via some software interface, however I can't see this happening easily since simcard are designed so the secret key never actually leaves the card.
All in all I think software simcards are actually a great idea if we can get around some of the lock-in / freedom issues they're going to have.