¿Entonces quieres meter datos distintos en la vista dependiendo de la orientación? Siendo asi, tal vez lo razonable sea tener cargados los dos UIViewControllers y suscribirte a la notificación de cambio de orientación. De esta forma consumirás mas memoria puntual pero la transición debería ser fluida.
Otra solución podría ser meter las subvistas ocultas y al rotar desocultar las que vayan corrspondiendo. También conseguirías fluidez, pero tendrías que ser cuidadoso con tu modelo de datos, sobre todo si la lógica de las vistas es compleja.
De todas maneras esto es poco ortodoxo. Replanteate como lo estás haciendo.