It's very awkward for everyone, and completely ruins the event for me.
I think that the only one you can change is you.
There's is no reason that two adults should be ruining a party that you give. Either you need to realize that you don't have to be bothered by their nonsense, or you need to talk to them and let them know the groundrules.
I can assure you the 3 year old is noticing, even if the child can't express it. My mom and dad divorced when I was 4, and I knew how bad it felt in the house, and I knew what it was like when they were near each other... A 3 year old in a house knows when people are happy and sad. So it's time to let them know what is acceptable!
My parents, as I mentioned, divorced when I was 4. And tried very hard ot not be in a room together ever after. The ONLY reason my dad was at my wedding (nay, that I even HAD a wedding, since he paid for it and that wouldn't have happened otherwise) was, sadly, because my mom died when i was 30, months before I met the man who would become my husband. In the absence of my mom, my dad could show up. (there was abuse in their background, however, it wasn't just "I don't like you", but "I'm scared of you and for good reason")
But I've had to tell my dad what's not acceptable, twice now, because I was NOT going to have him doing his nonsense in front of my son (or in front of me, either, because I'm SICK of it). The first time happened when DS was 3 (and was noticing it!), and the second time happened just last March.
I also have NO problem at all telling my son how it is with his grandparents (FIL died so it's just MIL and my dad that I have to talk about). Neither of the living ones are "normal", and to protect him I have to talk about their personalities, and protect them (DS has no idea that granddad was supposed to visit, oh, 3 years ago now, even though my dad was just aobut out the door at one point, to catch a train on up here!).
I'd rather protect him by talking to him, rather than having him think that the nonsense is *normal*.
So talk to your parents and maybe start to talk with DS, and definitely talk to yourself, because their antics shouldn't ruin your events! If that starts, it's time for either you to go (if you're not the host) or them to get engaged in some other way if you are the host!