Peter Sagan wins stage 3 of Tour of Switzerland