The problem is you
don't pay for someone to separate your recyclables. If we were all charged for the garbage we generate, and also for how expensive it was to process, then it'd be fine. But in most cases, consumers in the US don't pay truly variable rates for the garbage they generate. (Even in the generally progressive San Francisco, you're charged a monthly fee based simply on how many trash cans you have - so pretty much everyone pays the same, and there's little incentive to generate less trash.)
https://www.recology.com/recology-san-francisco/rates/However, in our current scheme (at least in the US), when you don't sort your garbage, the cost of that is mostly just distributed across everyone else - both in terms of the cost to process the garbage, as well as the environmental costs of things like improperly disposed of batteries that end up in landfills.
There's efforts to automate the processing of mixed-stream recycling, but they're not widely available yet.
It's entirely possible that we'll see single stream recycling end here in the US soon, because the places we used to send it for processing (like China) no longer want to do it for us due to the environment problems. At that point, we'll either have to start doing a better job separating it ourselves, charge more for garbage and single-stream so we can pay for processing, or fill up our landfills even faster.