i have been used several different cms before and thought its quite important to have a theme switcher function from CMS backend. Won’t need to be so fancy, just a dropdown list can loop the themes in default themes directory and read the name off, and a save or apply button can saving changes
For general users, they don’t have too much deep understanding of the structure of silverstripe. Once they want to to change to an other theme, i think it’s could be easier for them just logging to cms admin, then select a theme in a dropdown list they want, rather than locate to .config file in mysite directory then change the SSviewer::set_theme("your theme").
Also for developer companies, this could also be another convenience, they could be able to provide another theme for clients' websites. The clients will choose which one to apply depends on their needs and requirements by simply clicking the theme switcher fromBackend.
Don’t know is has been achieved in 2.4 yet or not. But think it could be another beauty of the silverstripe.
Do like Silverstripe a lot.
Thanks for the great work from the developers all around the world.