I have a 4 year old who has put us through similar behaviour. We soon found that what he wants is to have some sense of having a choice and having some control of the outcome. We will select 2 or 3 suitable choices for snack and say "Which one would you like to pick? Are you sure? (ie this is your final decision!)" and that helps.
We also are big fans of making lists where everyone can put a choice activity on the list that we will do at some point over the day. So little one can chose a game we will all play. That makes him feel like his input is valuable.
We often get help from older brother! For example, when my four year old insists he doesn't need the restroom, despite that fact that he is practically jumping up and down from needing it so badly.... instead of trying to force him, we create a challenge. We'll say "Who can get to the bathroom first?" and both boys will race off to try beat the other. My older one is in on the secret, but loves to play along with us.
It is a matter of not always battling wills. Try and find creative ways to get the behaviour you want instead on trying to force it. I print out "play money" off the computer, and offer a dollar for good behaviour when things are falling apart. They don't seem to mind that they have not bought anything yet, just collecting it is fun. Making charts that you can add a sticker each day for good behaviour has also helped. After he's collected 7 stickers we can go for ice cream or something like that.
This way you can save your energy for when something is really important, like holding hands in the parking lot, and can just enforce it. It is a matter of picking your battles and finding easier, more fun ways of encouraging desired behaviour. The more we battle the more challenging his will becomes, so finding smoother ways has really helped. Turn the fun things you would have done anyway, into rewards. Sometimes I will even say "If you are well behaved in the doctor's office now, I will play xyz with you when we get home(when I was willing to do xyz anyway!) Sounds mean, but it is more about identifying and encouraging the behaviour you want.
PS At four he is much easier than he was at 3!
Good luck! I hope some of this helps.