Darwin Atapuma survived a daylong breakaway to win stage 5 of the Tour de Suisse.