Earlier quoted context omitted.
Consider the number of hours you actually spend interacting with a candidate during the interview process. If it's 40(!), bring them in for a full week and decide at the end of Friday. If it's closer to 10, bring them in Monday morning and decide by close of business Tuesday. All the delays are materially the fault of glitches in the hiring organization.
This is a good process to ensure you don’t hire anyone who is currently employed. I would not sign up for this even if I was between jobs unless I was desperate. I don’t mind coding challenges, etc, but the first few weeks at any job is mostly scut work getting things set up, meeting people, etc.
Edit: even an intense 6-interview loop including a "sell" dinner can be done in a day if scheduled properly. The multiple weeks thing is entirely poor scheduling on the part of the company.