I neither want nor expect it to be efficient, just reliable. Those are two vert different goals. By "efficient" I think you mean something like, as high a percentage of every dollar given as possible goes to where it's needed, and as low as possible goes towards overhead or corruption. By "reliable" I mean that everyone in poverty gets the resources needed to get out, whatever the overhead is needed to get people to that point. I find it a preferable outcome to have one million people worrying how they're going to pay for their next meal, and some guy skimming $1M for himself off the top, than ten million people worrying how they're going to pay for their next meal and nobody getting rich off the process.
I think that's the big difference with things like defense at scale. You don't need war to be cheap, or to optimize dead enemies per dollar; you just need a guarantee that if someone attacks you anywhere and in any manner, there will always be some sort of armed force to defend you. Central command is nice but not necessary. Same with roads; central command is certainly unnecessary, but having reliable nationwide roads is better for a society than intermittent roads where they're profitable.
Do you believe that govermment-run charity will be less reliable than the status quo; that is, do you believe it will help less people? Why?
(I'm not asking about whether it's moral, just whether it works.)