On August 25, 2008, Díaz was traded to the Pittsburgh Pirates as the player to be named later to complete a trade for José Bautista and was assigned to the Triple-A Indianapolis Indians. After spending several days with Indianapolis, he was called up by the Pirates on September 2. On September 7, 2008, Díaz got his first major league hit, against San Francisco Giants pitcher Jonathan Sánchez. Díaz began the 2009 season in Triple-A but was recalled to the Pirates late in April after starting catcher Ryan Doumit became sidelined with a broken wrist. He would serve mainly as backup to fellow rookie catcher Jason Jaramillo and as an occasional pinch hitter. In his 31 games with Pittsburgh, Díaz compiled a.295 batting average and drove in 18 runs. He was optioned back to Triple-A when Doumit returned from injury on July 10. He was designated for assignment at the end of the 2009 season, and released on November 30, 2009.
On December 8, 2009, he was signed to a contract by the Detroit Tigers. Díaz spent the 2010 season as a member of the Toledo Mud Hens, wearing #26. He filed for free agency on November 6, 2010.
The Rangers re-signed Diaz to a minor league contract on August 12, 2012, and assigned him to the Triple-A Round Rock Express. On November 3, he was declared a minor league free agent by Major League Baseball.
Milwaukee Brewers
On January 18, 2013, Díaz signed a minor league contract with the Milwaukee Brewers. He started the 2013 season with the Brewers' Double-A affiliate Huntsville Stars. He split the season with the Stars and Triple-A Nashville, where in 108 games total, he hit.302/.335/.433 with 7 HR and 42 RBI. After joining the Sounds on June 29, 2013, Díaz closed out the year by hitting.328 in 50 Pacific Coast League games. On October 1, 2013, Díaz signed a minor league deal with an invitation to spring training with the Brewers. He returned to Nashville for the start of the 2014 season. The Brewers signed Diaz to another minor-league deal on February 23, 2015. The same day he was assigned to Triple-A Colorado Springs Sky Sox. On April 6, 2015 he was demoted to the Double-A Helena Brewers. On April 17, 2015 he was promoted back to Triple-A Colorado Springs. After the season, he was selected to the roster for the Dominican Republic national baseball team at the 2015 WBSC Premier12.
Return to Toronto
On February 26, 2016, Díaz signed a minor league contract with the Toronto Blue Jays.