I understand that this is a kind of an involved question but I am just looking for some starting pointers.
I want to incorporate buttons on the front end that would act as a kind of preset switch to change the look of the template. For every preset selection, I would like to inject changes to the Customizer settings so that if a user has selected a preset on the front end, the related Customizer settings would also be available in the Customizer on the backed.
WP has Customizer Changesets ( you can read more on them here ) BUT this is only for the customizer preview and drafts.
If you could switch customizer settings using this method from the frontend – which is probably doable – then this change would be committed to the Site – which means all users would see the changes. You wouldn’t be able to have one setting for me and one for yourself.
So the only options i can think of boil down to switching style sheets or some convoluted multisite.