Preston ended Swindon's unbeaten start to life in League One courtesy of an emphatic first-half performance.
Akpo Sodje volleyed home Robins keeper Wes Foderingham's blocked clearance and Nicky Wroe added a second.
Foderingham was replaced by Leigh Bedwell after 20 minutes but the 18-year-old debutant was beaten as North End new boy Stuart Beavon tapped home.
Raffaele De Vita's drilled shot gave Swindon hope but John Welsh's strike from outside the box sealed the game.
Former Crystal Palace keeper Foderingham stormed straight down the tunnel following his early substitution but not before kicking a water bottle and having a heated exchange with manager Paolo Di Canio.