I'm using Yoroi and want to switch to another stake pool. I never withdrew my rewards from the current pool. What happens to my rewards when I switch pools? Do I need to withdraw them before I switch to another pool?
No, you do not need to withdraw rewards before moving stake pools.
Cardano wallets use two accounts: one for spending ADA and one for collecting rewards. While this may sound strange, it actually has many benefits (which I won't get into here). In order for earned rewards to be spent, they must be moved from the rewards account to the spending account (become an UTxO) which requires a transaction fee. Until the funds are needed it is fine for them to stay in the rewards account since they are still in your wallet (the pool doesn't have your funds) and they count towards your wallet balance and earn compound rewards. The main take away here is that the rewards are in your wallet and go with you wherever you stake your wallet.