The move, reported by The Associated Press and other outlets last week, was a salary dump for the Suns, who made a strong but ultimately unsuccessful push to sign coveted free agent LaMarcus Aldridge.
The trade separates the Morris twins, a move that reportedly has upset the Suns' Markieff Morris.
"We understand the emotional part of it for Markieff," Suns general manager Ryan McDonough said after the trade was announced Thursday. "He and Marcus are brothers, twins and are very close, on and off the court. So we know there'd be an initial reaction that was pretty negative, but at the same time we think for his growth, and probably for the growth of Marcus as well, it was best for us to make a change."
Marcus Morris got into a courtside shouting match with coach Jeff Hornacek last season. The twins also have pleaded not guilty to assault in an incident outside a local recreation center.
The Suns receive a 2020 second-round pick in the trade.
The Pistons have scheduled a Friday news conference to introduce Morris, who will have a chance to fill Detroit's hole at small forward. That was the lone remaining opening in the starting lineup after the Pistons traded for power forward Ersan Ilyasova last month. Detroit has been unable to add a top free agent this offseason, but the Pistons have used trades and a high draft pick to try to remake their roster.
Detroit took Stanley Johnson of Arizona, another small forward, with the eighth pick in this year's draft. Morris was the 14th pick in 2011 by Houston, but he's started only 59 games since then -- 35 of them last season with the Suns. Morris averaged a career-high 10.4 points in 2014-15, and he shot 36 percent from 3-point range.