Anyone with any level of self-confidence, worth and respect.
I suppose there are distributed companies that just do things over video link these days (and I've interviewed people over a video link when necessitated by travel schedules or people being in different locations). But some number of in-person interviews over the course of 4 or 5 hours is absolutely standard in my experience.
If I'm unemployed, then full day is fine. If I'm really keen to get out of my current job, or really keen to work for you, then I might do it. But if I'm just exploring opportunities, or I have other options in progress, then I'm not taking a day off just to interview.
With any interview when it might be really obvious 10 minutes in that it's not going to work. If I've scheduled that during my lunch break, or for an hour before/after work, then that's a small cost.
If I take a day off work to interview, then that's costing me in the order of $1000. If I don't know whether I want to work for you, then why would I do it? And I definitely can't do that for 5-10 different roles that I might apply for.
A full day is also quite hard work. Interviews are stressful. Dealing with people you don't know, trying to make sure you don't do/say something stupid, it gets exhausting.
I generally expect 4-6 hours worth of interviews before an offer, but the typical process stretches those over a few weeks, which allows the candidate to fit them into available blocks of free time, and gives the candidate oppotunities to think about how things went, what questions to ask, whether this seems like the right fit, and pull out at any point.
For permanent jobs, it's usually an hour long interview followed by a programming assessment; either take-home and then presenting to their developers, or codility. But for freelance work, none of that. Just a talk and they hire me. But of course if I turn out to be useless, a freelancer is easy to fire.
(I don't like video interviews much.)
As for hiring freelancers, I'm not involved in hiring programmers but we use external people for various other things. We've try to use people we have experience with but it's mostly not a big deal. If we don't like the work they do, maybe we're out a few bucks but we just don't hire them again.