When you mention that you're using a p2p session, does this mean to suggest that you're setting the p2p flag on your call to createSession in the server-side SDK? The p2p flag for Flash uses a Flash-proprietary technology that none of the mobile SDKs will be able to target, so that should be avoided.
Per camera switching, I have not spent enough time testing the unpublish-republish workflows, so if there's a crash there it's news to me and you should make a gist
of your logcat. Per the API workflow itself, a Camera instance is immutably bound to the Publisher instance (for now - obviously this could use improvement). Unfortunately, this means that in the short-term you'll have to settle for unpublishing and republishing if your action calls for a camera swap.