A while back I had an internal project that would be the same codebase but required multiple themes, over several in fact. I thought about how to approach it, done some research, discussed with colleagues and played around with a few test cases.
After reading Sass Theming by Hugo Giraudel, I decided to base my theming approach on his findings, what we have is the simplest approach to theming.
Reference: