Is it really acceptable to expect employees to attend a non-work-related event that takes days?
Team building events are serious business.
You have a huge misconception if you think they are not work-related. Look at it this way: why would any company take several dozen employees on a paid "pleasure trip" and also pay them for not doing any "work" during that time? No business would splurge money for fun without expecting anything significant in return.
The business makes substantial gains when employees get along well. Employees collaborate better with coworkers that are easily approachable. Work gets done faster without a bossguy having to gather status and be an intermediary in the communication.
This is even more valuable in case of cross-department collabaration. When people can just walk up to each other without having to go through the usual BS of procedures and approvals from boss and boss's boss, not only does work get done sooner, but it may also opens up new opportunities1.
Conversely, when people socialize to the minimum extent necessary for work, as seems to be your preference, it adds to the company's costs
2, and they may miss opportunities lying right under their nose.
So you might wonder what my lecturing has to do with the company social event. The company organizes such "non-work" events to allow people to lower their guard for a bit, and make them more approachable at work. In a formal office setting, people monkeying around would be perceived as unprofessional, or at least less serious about the job.
I would hesitate to chit-chat with my boss about my "stupid new idea which could potentially save us millions" without doing a thorough study on its feasibility, etc., but if he and I have done stupid fun things together like dancing around a tree wearing straw hats and clown masks3, I may not be so hesitant, and I would even demand that he use his better business acumen to evaluate my idea! In the long run, the company gains. Did I say anything about team building events being serious business?
I can do all the socializing needed for the job. I don't want to be there, nobody wants me there, expect for HR because of the rules.
I too hate doing such stupid things at work, so I can certainly empathise with you. I am sure plenty of your coworkers feel the same way, and even the HR knows this! You can't expect 100% participants to be 100% excited about any event. Nonetheless, you should attend the event and demonstrate at least the bare minimum participation and excitement.
Refusing to attend the event, or even worse, attending the event and not participating at all, will only make you stick out like a sore thumb, which won't do you any good. How I usually deal with such day-long annoyances events is to participate intermittently, that is, participate in one or two activities, then excuse myself for an hour or so, attend another one or two activities, and repeat. That is usually enough for people to notice that I participated, which works well enough for me.
I don't have a car, there's no public transport, and I don't know anybody well enough to ask for a ride.
This one is easy. Just raise this concern with your boss, and ask him what you could do, and do as he says.
If I were the boss in this situation, I would find out how many other employees reporting to me have this issue. (As you might expect, you may not be the only one with this issue.) Then I would either offer them a ride in my car, or "tag them along" with other colleagues who have empty seats in their car, or talk to HR and see if they could arrange for a private bus, or ask HR if the employees could get their cab expenses reimbursed.
Personal anecdotes:
1 I have lost count of the number of times I had a conversation with someone from another department which ended up with one person saying either, "Hey, about that Foo issue you told me about the other day, in my department, we deal with it using the Bar approach, would you like to see if it helps you as well?" or "Hey, it looks like if we can get our Baz tool and your Qux framework to work together, it would save us both a lot of grief. Do you think we should give it a shot?"
2 We once had a guy who spent a whole week figuring out the solution to a problem that he knew a colleague in the next cubicle had already solved just two weeks ago. He did not ask for help because he found that colleague "too bossy", and the manager was also on vacation that whole week, meaning status meetings were mostly not taken seriously.
3 I swear I am exaggerating this only a little bit ... in that there was no tree!