Peterborough snapped a run of four successive Sky Bet League One defeats by breezing past Port Vale 3-0.