Shake their hand and excuse yourself. This would be fine except that this co-worker is always late. If she's making a scene coming in late at business functions, she's sending many potential clients a poor first impression of both herself and the company. On a personal note, you should speak to her directly and let her know that you find her behavior unacceptable and embarrassing. If she doesn't recognize the error in her ways and change her behavior, speak to your supervisor, I'm certain your boss would echo your concerns.
Business is business.
I seem to always be juggling my chicken wings and glasses when it comes to shaking hands. Since eating is not your priority, grab a little something before you actually attend the function or take a minute before to visit the buffet before you start schmoozing. If you are right handed, keep your glass and napkin in your left hand- using your right only briefly to take a sip. This will keep your right hand clean and dry so that you can readily shake hands with clients etc. Another tip, keep your business cards in your right jacket pocket so that you don't have to put your glass down to get one when asked.