This could be implemented using CSS variables to negate the need to create/load separate CSS files. Since Flarum is still using a mix of Less and CSS variables at the moment it's probably not as simple as changing one variable, but it shouldn't take a lot of additional CSS to use CSS variables in the places that are required.
The next step is making opinionated choices about what should change colors. I'm sure everyone will want something different. The easiest would be to change colors just like if you changed the primary color in Flarum admin settings. But you might loose some of your brand identity by going so far.