Да не, ViewStack я отбросил сразу - неудобно.
И что-то со стейтами погорячился - все значительно проще. Спасибо за наводку. Действительно, для каждой подчиненной структуры создаю свои стейты и обрабатываю переходы. Ничего сложного. Единственное - приходится назначать стартовый стейт для подчиненной структуры при переходе на нее, а также наоборот - возврат приходится осуществлять через назначение стейта родителя из потомка.
Переходы также оказались не такими страшными. Возможет такой вариант

Код:
<s:Transition fromState="state1" toState="state2" autoReverse="true">
<s:Fade targets="{[view1, view2]}" duration="800"/>
</s:Transition>
Но, к сожалению, такой вариант работает только один цикл - "туда" и "обратно". Повторной работы не добился и вернулся к варианту

Код:
<s:Transition fromState="state1" toState="state2">
<s:Fade targets="{[view1, view2]}" duration="800"/>
</s:Transition>
<s:Transition fromState="state2" toState="state1">
<s:Fade targets="{[view2, view1]}" duration="800"/>
</s:Transition>
По крайней мере, не нужно вводить транзитные состояния, что уже проще и понятнее.