Here's what I do: I have my enemies in a family, then I create an event for each enemy type. For example, if one enemy type is "Zombie", and the family is called "Enemies":
Event: "Zombie"|is overlapping "Enemies"
Action: Move "-1" pixels at angle "angle(zombie.X, zombie.Y, enemies.X, enemies.Y)"
there may be an easier way to do this as far as referencing the family member within the family, but this works rather well. It just takes the angle between one sprite and the other, and moves on of the back pixel until they no longer overlap. This creates a smooth effect when many sprites are trying to hold the same position