@jschreier Hi! Sorry for the delay -- I was out of the state on vacation 🙂
Yes, moving subaccounts does trigger a chain of actions where the courses under the subaccounts have to also shift over. I suspect there's also some re-processing in regards to permissions and course settings as well, since settings can be different in the subaccounts (for example, locked settings)
Do note that BETA and TEST run on a 'slower' processing speed and SIS imports, depending on the size, may get stuck in BETA and TEST requiring Canvas Support or an API call to cancel the SIS import.
I did a 186 subaccount restructure (schools) with around 20K courses total across all the subaccounts a few years ago due to a SIS integration change and it took 8 hours in production + letting the UI reflect the changes (which takes a bit too.)
As @chriscas points out, you will want to make sure the subaccounts are processed as "UI Changes" IF your subaccount structure comes from your SIS integration (like mine) -- otherwise on the next overnight SIS sync your changes will get undone.
Just FYI, I'd make sure that all your subaccounts have a SIS ID if you have a large amount of courses in your instance, so that you're utilizing the SIS Import system to handle moves and changes. (That being said, there are some things that do require the API, such as moving courses that don't have a SIS ID.)