Sass'у вроде как json можно скормить. Т.е. делаете какой-нибудь themes.json
{
'default': {
'textColor': '#000',
'bgColor': '#f5f5f5'
},
'dark': {
'textColor': '#f5f5f5',
'bgColor': '#212121'
} // и т.д.
}
В app.vue его импортите в data, создаете там же переменную, которая хранит выбранную тему, в computed выполняете поиск по themes.json, выцепляете нужную тему и подсовываете ее sass'у. И не нужно никаких классов тогда добавлять