Cunningham, 24, who had a year left to run on his City contract, has put pen to paper on a two-year deal and becomes Preston’s fourth summer signing.
“What you find with Greg is that he is a really good age, but he is experienced as well,” said Preston boss Simon Grayson.
“He has played for some good clubs, big clubs, knows the Championship and was part of a winning mentality at Bristol City last year.”
Defenders Scott Wiseman, David Buchanan and Scott Laird all departed Deepdale earlier in the summer.
Grayosn added: “We are very pleased to have got him, he’s desperate to do well for Preston North End and try and get back into the Ireland squad and if he does that, hopefully it means we are doing well.”
Cunningham started out at Manchester City and had loan spells at Leicester and Nottingham Forest before joining Bristol City in a £650,000 deal in the summer of 2012.
He made over 100 appearances for the Robins in all competitions and scored five goals.