Only took a couple days for me. Recruiter was extremely professional. And attentive. I had competing offer. I asked a number, they delivered. It was a painless process. Total process after interview was maybe a week with some back and forth emails and calls. There was even a typo in my offer letter (was 500 dollars short of agreed amount) and they fixed it same day.
I work at a much smaller company so im not sure why it would take longer than a day, we usually have a debrief the next day with a yes/no by end of meeting. I guess scheduling of debrief can cause delay
Personally I got an offer within hours of my onsite but other people have differing experiences, usually getting the debrief scheduled, maybe other things going on with budgets or headcount in the background.