If you don't need a fully 3D view, three.js is likely overkill, agree.
Not sure which stack you use, but I know e.g. with react you can easily turn SVGs into website components and give them parameters.
For your preview that would mean you could simply hand the colors to your SVG without having to save all the options as single SVG files.
Logos would need to be overlaid though.
Maybe that helps 😅

