I think doing the switching makes sense here.

In the future, I'd like to do this:
* have a "forceSwitchServiceId" boolean in "opts"
* switch only when it's true
* otherwise call onerror.

This way we could display the confirmation dialog only if we have an error, like we do for retrieveMMS. Also I think this is the API we'll have in Gecko to support both DSDS and DSDA in the future.

I think this is too much change for 1.4 though.