I can't speak to their experience but the bigger the company, the more process and people involved usually. That causes delays here and there that add up. It's also a matter of how much of a priority the company makes it. If they're large and well-known there's really no incentive to change anything. They'll always have a stream of candidates applying and being available to hire.
What would you do to make it more effective?
So it's not that they can't, it's that they won't. Seems crazy to me.
>What would you do to make it more effective?
I'd ask companies who have managed to get the process down to 2-3 weeks what they're doing, and then do that. It sounds like you're saying they don't actually care to, though.