The general accused the Iraqi leadership of being unwilling to make "the hard choices necessary to bring peace to their country".
"There is no evidence that the Iraqis will choose to do so in the near future or that we have an ability to force that result," Sanchez said.
He added that the congressional bill "makes the proper preparation of our deploying troops a priority and requires the type of shift in their mission that will allow their numbers to be reduced substantially".
Sanchez's critical remarks will be aired on Saturday for the weekly Democratic radio address.
The House of Representatives this month passed a $50bn bill to fund combat operations but set December 15 next year as a target to end the mission.
"Iraq is still under foreign occupation and Iraqis continue to die in great numbers"
Send us your views
The matter resulted in a standoff after the White House threatened to veto the measure and Republicans in the senate blocked the passage of the bill.
In October, Sanchez said the US mission in Iraq was a "nightmare with no end in sight".
He also described the order by George Bush, the US president, for 30,000 additional troops to be deployed to Iraq this year, as a "desperate attempt" to make up for years of misguided policies in Iraq.
The Abu Ghraib prisoner abuse scandal happened on Sanchez's watch, with some criticising his leadership.
While he was not charged with misconduct, Sanchez said upon retiring from the military in November 2006 that his career was a casualty of the scandal.