The question, really, is "Is it more efficacious for the government to allow citizens to choose which charities the government gives to by forking up the money initially, or would some alternative method of determining how the government allocates the same money (say, with a kind of rating system made up from aggregated taxpayer preferences) work better?" Whether the same charities would get roughly the same amount of money from the government without the tax deduction method of allocation is the real issue.
We know that certain kinds of charities absolutely depend on direct or indierect government assistance. Many artistic/quality of life programs- inner city arts programs, B&G Clubs, relatively new charities, etc.- report that their private donations fluctuate in proportion to the sums they get from government programs- the more the government gives, the more private parties do. Some even report that withdrawal or big reductions of government funding utterly craters private donations because government funding acts like a "seal of approval" that a charity is legitimate. So when government money dries up, the private donors scurry away.