How to handle theme customization and sass variables

Yes, I would. gulp is very light weight and I don’t see any problem to keep it running in the production server and watching my scss files in the background.

However, if for some reason the production server is out of your control or you don’t want to install extra software, you can of course use a PHP scss compiler and attach it to your theme’s functions.php file to recompile the scss file to css for the customizer changes.

You can use the customize_save_after hook to watch for the customizer changes and then execute the scss compiler. That way every time someone makes a change to the customizer, you’ll be able to recompile the scss file to reflect the changes in your css file.