Yeah, sometimes you do just have to pick them up kicking & screaming.

Some things I've noticed help in various situations:
-Give DS a 5-minute warning, but ask him to let me know when he's ready to leave. It gives him a chance to come to a natural stopping point in his play, instead of me forcing him to go in the middle of something fun.
-Sing a goodbye song.
-Offer something enticing for the car ride (a special snack, toy, story, song) not so much as a bribe but as something to make the car seem more inviting, less boring.
-Explain our plan to DS ahead of time: "We will have lunch, then go to Jane's house for 2 hours, and then we'll get in the car and go to the grocery store for an hour, and then we will come home before it gets dark." At first the time concept (minutes/hours) was meaningless to DS but at almost 4yo he is starting to understand it better... so you could start now, but use lots of predictable touch points (meals, sun up/down, etc.) to make the schedule make sense to him until he understands time. This is probably the most effective thing on my list for us.
-Don't make a big deal out of goodbyes. This is a trial & error thing, because some kids do better with elaborate goodbye rituals, but my DS gets so upset that even saying the words "good bye" is likely to trigger a meltdown. So often we just keep the goodbye short & sweet, "Time to get in the car," take him by the hand and start walking.
-Leave when you say you will. This is my biggest struggle! I used to be so good at it but lately friends & I will get caught up in conversation as I'm trying to get DS to leave... and so the leaving process ends up taking 1/2 an hour instead of 2 minutes. It's just confusing to DS and prolongs an already-difficult transition.
Follow Mothering