I would go with Howard’s approach, but like Gemma, I’m curious about the requirement. A site wide theme affects all users, so really does not need to be changed frequently at all. As I explained earlier, teachers and others can already choose their own themes for their own courses from a list of already installed themes, and can change it whenever they want.
It seems that you’re going to have a LOT of work to get a setting just to be able to change something on a fairly irregular basis.