A couple years ago I had TWO full-day interview sessions with a single company. That I had to take time off of my then-current job to attend. After a one-hour phone screen. Who ended up not hiring me anyway.
Unless the position was for serious fuck you money and I really needed it, there's no way in hell I would tolerate 2 full day interviews.
I'm also guilty for spending lots of after work days studying for jobs I really wanted and getting rejected but at least I didn't burn any of my precious vacation days.
I fell prey to the “sunk cost” fallacy - after the first full day when they asked me to come back, I thought: a) it would be a shame to “waste” that first full day of interviewing by saying no now and b) surely nobody would be a big enough asshole to ask me to take two full days off of work to interview with them only to reject me after the second day, so surely this second day is just a formality.
Apparently I was wrong.
And no, it was just a regular programming job, nothing special.
I have found that lightly pushing back on such requests makes them value you a little more. Doesn't matter too much since they should've valued you in the first place. I've had a couple processes expedited in this way, sometimes skipping a call here or there or changing a second onsite to a call.
I've done about 3 of these kinds of "interviews" in my career.. basically a small work for hire each. Didn't get the jobs.. but took great joy in checking in on each of these companies after 6 months to find they no longer existed.