The contract includes a Spring Training non-roster invite.
Sanchez, 33, is best known for throwing a no-hitter for the San Francisco Giants in 2009. Over eight seasons, he is 39-58 with a 4.70 ERA.
In addition to the Giants, Sanchez has played with the Kansas City Royals, Colorado Rockies and Pittsburgh Pirates. However, he has not pitched in the majors since 2013. He has spent the past two years pitching in Puerto Rico.
Sanchez had a 2.72 ERA in 36 1/3 innings of winter ball this season under Reds Class-AA manager Pat Kelly.