It depends on the scale. In Denmark, while we can do it privately by driving to recycle stations - highly inefficient as you mention. The sorting in urban areas however, is mostly glass, paper (and the like), and general waste - it does not matter if a truck picks this up, because he would have to do so as general waste anyway, if it wasn't sorted. Many larger stores also have facilities for batteries, but I'm unsure how many uses them as most people I know toss them in with the general waste.
It has also been tried many times to separate organic matter from the rest (different colour of bags), and using automatic systems to sort it. It has been mostly dropped because it's more expensive than just burning everything unfortunately. Which brings me to the main point. We can be very efficient and recycle most of the waste, find a optimum point where we minimize the environmental footprint - it's just expensive, and the first thing to go when the city need to save money. People just don't care about future generations, or don't believe it's a problem, to accept the cost of recycling.