Pelo que eu posso dizer, ViewSwitcher é usado se você quiser alternar entre duas visualizações, como você disse. Útil se você tiver 2 visualizações que precisa ir e voltar regularmente. E a classe implementa um ViewFactory se você quiser usá-lo.
No entanto, ViewFlipper pode ser usado se você quiser alterar periodicamente as visualizações. Diga como um livro automático de algum tipo. Embora uma galeria de adaptadores personalizados seja muito melhor nisso.
E sim, isso é tudo. Eles realmente não são muito mais úteis do que o ViewAnimator. Por que o desenvolvimento do Android faz alguma coisa é realmente um mistério para mim.
Eu normalmente preferiria usar um ViewAnimator porque ele dá a você mais liberdade e, portanto, flexibilidade em como você projeta. Mas se você quiser recursos como o ViewFactory e tiver apenas 2 visualizações, use o ViewSwitcher. Se você deseja alterar periodicamente as visualizações, use o ViewFlipper. Se você não precisa usar um ViewAnimator.
ViewFlipper suporta mais de duas visualizações, ViewSwitcher suporta apenas 2.
fonte
Não tenho certeza se há grandes diferenças entre eles, mas pelo que percebi, a diferença é que o ViewSwitcher é usado em circunstâncias em que a visualização é a mesma, mas os dados são diferentes - como em um aplicativo de calendário - estamos apenas alterando os dados na visualização.
fonte
ViewFlipper é permitido em widgets de aplicativos, enquanto ViewSwitcher não.
https://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
fonte