Also going to Pittsburgh in the deal was infielder Pedro Ciriaco and cash considerations.
Snyder is leaving the Diamondbacks after seven years with the club. He was batting .231 with 10 homers and 32 runs batted in through 65 games for Arizona this year.
Church, also a seven-year veteran, was traded for the second time in two years after signing as a free agent with the Pirates in January. He is batting .182 with three homers and 18 runs batted in over 69 games for Pittsburgh this season.
Crosby is a former AL Rookie of the Year with Oakland (2004). Also in his first season with the Pirates, he sports a .224 average with one homer and 11 runs batted in over 61 games.
Carrasco, 33, has gone 2-2 with a 3.88 earned run average in 45 games out of the bullpen for the Pirates this season.