Duplicating components when designing multiple themes

Usually, when creating a component, you use it across the whole project. Currently, I am designing up to 100 themes for the same UI; each theme has separate colors, backgrounds, and images. But they all use the same layout. I was wondering if there is some magical duplicate action where I can create components, apply them in the theme, duplicate frame (or page), and replace assets/colors to get a new theme. I know I might use component variables, but it seems unpractical.

WHAT I TRIED: Changing colors via variables but maxed out at four themes (I have regular sub). I also created component variants to change the background. But still, it’s not very practical to add new variant and then manually change it at multiple places, kinda defeats the purpose.