Preston boss Paul Simpson said on his club's website: "He's a leader, he gets his foot in, and he can get goals."
The former United skipper, 28, had agreed personal terms last month but the deal was held up by Leeds going into administration.
However, the final piece of paperwork was signed on Thursday and Nicholls was registered by the Football League.
"He's a player I have been trying to bring here for a while," added Simpson. "I tried to get him in January, but it fell through."
Nicholls was made captain by Dennis Wise but, having made just 15 appearances for Leeds, he was stripped of the captaincy and dropped from the first team after asking to leave in the middle of a relegation battle.