Sure, and it can be automated. But data cannot be altered if you are going to swap back over it.
I would only transfer the data that needs to be transferred, and aggregate what data can be aggregated during the transfer - and index the destination tables to optimize the calculation. However, both these options are possible without taking the data out of the database and just making other tables in the database.
If you're doing the operation on the same machine, it's possible you will still experience the same slowness since the server will be carrying out the same operations...
If the "slowness" is actually caused by locking/blocking behvaior and the data is not going to be changed, you can use the WITH(NOLOCK)
option on your tables to avoid blocking other operations during your long operations.