I say this because my friend has been complaining about a transaction, that he made from his electrum wallet to another wallet and has been waiting for hours for it to go.
Bitcoin blocks are mined approximately every 10 minutes, sometimes a confirmation can happen within 1 minute of the previous block, other times it can even take more than 50 minutes for a block to be confirmed.
But the biggest factor if one wants their transaction to be confirmed in the next block is the transaction fee rate used. I am somehow certain that your friend did not use the Optimal fee rate, thus a delay in confirming his transaction
Am I missing something, is the movement of bitcoin from one exchange to another faster than moving bitcoins from one wallet like electrum to another?
Bitcoins from an exchange to another have to also get confirmed using the Bitcoin network, so it won't be any different if the same fee rate is used as for a transaction from an electrum wallet to another. The advantage is that exchanges broadcast the transactions with a fee rate that is even higher than the optimal one in most cases, so chances of the transaction getting confirmed in the next block are very high.
Internal transfers (from one account to another of the same exchange) do not involve Bitcoin network confirmations, so these are usually instant.