I mentioned in my review of Peanut Butter and Tofu on Jewish Rye that the play moralizes without getting preachy. The way to accomplish this feat is pretty simple, actually.
When we the audience approach a story, we want to meet a real person. We want to believe in him, and we want him to succeed. That’s why a story has conflict, and that’s why the conflict gets worse as the story progresses. This heightens our awareness and sympathy for the character.
But note, once we sympathize with a character, we root for him; we want him to succeed. This is the key. If you want to make a point, put it into your character, in his belief or in his disbelief, or even in the change that occurs in him. Then forget about the point you wanted to make. Just let the story play out the way it’s supposed to. Your characters through their story will say more than you ever could. Only after you’ve given up the urge to talk to the audience can the audience even hear what you have to say.
Rod Serling once said, “Leave that soapbox behind. Carry with you at all times your sense of caring and concern. But put it into the mouths of flesh and blood people. If not, write tracts.”