Peter Sagan wins Paris-Roubaix