Currently when installing a sub-theme (not sure if this applies to a theme too) blocks from existing themes are copied to the new sub-theme in the Blocks layout section. Is there a way to prevent this from happening? I want to install a sub-theme and then manually add just the blocks I need.
They're not really "copied". They're the same blocks from your theme, but moved to the available regions of your subtheme after enabling it (iirc, they move to similarly named regions, disabled if none found).
What you could do is export the configuration. Drupal also keeps track of the active theme and block positions in the config. You could position blocks in the old theme and export the config for that. Then when you move to the new theme, you reposition the blocks and export again. Whenever you feel like switching over, you simply reimport the config you like.
I'm not so familiar with the config management in the UI, but this can be done with Git and Drush
cim quite easily.