The welfare system is no longer working because of the way funds are distributed to the state in the form of block grants. These block grants allow states to use the dollars in any way they want. This has led to funds being used for parent training, substance abuse, domestic violence prevention and others. Just 8% goes to poor families in the form of direct cash assistance. Though all these programs are needed, they are secondary to poor families who can't afford housing and food.
Welfare programs should have a back-to-work component where caseworkers monitor how recipients are looking for jobs. Wal-Mart's starting pay is $10 per hour. There are temp agencies in big cities that start people at jobs that pay way more than minimum wage. There are tons of training opportunities on the internet. There are no excuses for people not to have jobs, so tax dollars should go towards basic training for people to have careers rather than keeping people on welfare. Welfare is just an emergency stopgap, not a lifetime of money.
It is bad enough that most welfare money doesn't go to recipients, the worse part is that it is going to a bureaucracy that is overstaffed at the national level, and understaffed at the state and local level. We need to look at the entire system and figure out how to make it more efficient so money goes where it should.
There are too many governmental agencies that thrive on the inefficiencies of the system simply to survive. If we moved to a universal income model, or even to a flat tax with prebate model, we could cut out millions of wasteful man hours that are used to simply keep the system afloat. This is especially egregious during a time in which the poor are falling farther and farther behind as prices continue to increase due to our terrible monetary policy.