On September 3, 2010, he was called up to the majors for the first time but he did not appear in any games. On December 2, 2010, Roe was traded to the Seattle Mariners for José López. He was designated for assignment by Seattle on June 29, 2011, after recording a 6.41 ERA with Triple-A Tacoma.
Roe signed a minor league contract for the 2013 season with the Arizona Diamondbacks. He made his MLB debut with the Diamondbacks on July 1. He was called up on August 24, 2013, to replace J.J. Putz
On November 1, 2013, Roe was claimed off of waivers by the Texas Rangers He was designated for assignment on January 29, 2014. He elected free agency on February 5, 2014. He signed a minor league deal with the Miami Marlins on February 6, 2014. The Marlins traded Roe to the New York Yankees for cash considerations on August 31.