какая лучшая практика для настройки тем в приложении?
1)Создать ThemeManager и кастомные элементы?
2) В каждом контроллере прописывать тему цвета к элементам с ThemeManager (Очень плохой вариант)
Или что-то другое?
для настройки тем хорошая практика иметь отдельный класс с цветами. В коде ты используешь этот класс, а непосредственно значения сетишь при загрузке приложения в зависимости от того, что надо. Также можно оставить слушателя, который будет уведомлять класс с цветами о том, что произошли изменения, например, из меню настроек.