A festive event raised more than £4,000 for a children's cancer charity.