Я думаю, что выбор между ними зависит от требований к продукту. Для простых пользовательских интерфейсов, где существует простой поток данных от ответа сервера на реагирующий компонент, достаточно использовать только thunk. Для более сложных асинхронных взаимодействий (где требуется координация между реагирующими компонентами), sagas может очень помочь, предоставив структуру для вашего кода. Существует некоторая кривая обучения с сагами, так что вы можете начать с малого и убедиться, что у вас достаточно тестовых покрытий для всех ваших предположений. План тестирования Redux Saga отлично помогает вам проверить ваши саги.
Для моего текущего проекта мы начали с thunk, а затем перешли на saga, потому что наши варианты использования были достаточно сложными, чтобы использовать преимущества саг.
Я не использовал MobX, поэтому я не могу комментировать это.