A couple of thoughts:
Try to reinforce good behavior rather than punish bad behavior. Be the "hand hygiene fairy" and hand out a little reward any time you see a staff member clean before & after pt contact. It could be a coupon for a free drink in the cafeteria, a decent pen, a little bottle of the antibacterial lotion from Bath and Body Works. I know I just roll my eyes at people who want to nit-pick every little thing I do when it is crazy busy and I'm just trying not to drown. You don't want to be the "bad guy."
As already mentioned, the products have to be comfortable to use. We use the Steris foam, and it is wonderful. No icky buildup, and not drying like soap and water. I had an assignment of 2 C Diff pts one weekend, and by Sunday night, my hands were dry, cracked, and bleeding from all the handwashing. My hospital also supplies hand lotion for the staff.
I have also found that, while I always use the foam when I left a room, using it when entering was harder to remember. Why? I often went into the room with my hands full of pills/water/IV bags/linen/whatever. If I have a spot right by the sanitizer to put the stuff down and clean my hands, then go back to whatever it was I was going to the room to do, it is easier to comply with the rules. (Just don't get me started on how I am recontaminating my hands with whatever was on the stuff I took in the second I pick it back up. It seems illogical to me, but whatever.)