The separation of instruments from a mix is something that seems easy to us. Humans can concentrate, for example, on a specific instrument being played in an orchestra. We can do this because we are very good at grouping harmonics into a 'tone', and associating characteristic timbre with an instrument. We are also good at filling in what isn't there with what should, probably be there given what we know and what we expect.
The last time I looked for a tool that could separate instruments was a good few years back, but I don't think things have progressed much since then. The software I was advised to try back then was Celemony Melodyne (v3), which I was told could edit individual instruments separately in a mixed audio stream. I remember trying it for a day and being quite disappointed with the results. Looking back with a bit more experience and knowledge, I think the problem was that I wanted a tool that could split an audio mix to its source components, but what I got was a pitch editing tool for correcting the pitch of individual instruments and vocals.
The software did this quite well for say a piano and vocal mix, adjusting a bad singer's voice or correcting a wrong note struck on a piano. This is very different from a source separation tool because only the harmonic content needs to be adjusted with pitch correction, the rest of the instrument's signal, which is important to the instrument's character, is not adjusted. This means that the instrument's pitch can be changed without the instrument having to first be separated from the rest of the mix. Note that a more complicated mix would confuse the software, so individual changes were not possible.
I don't think source separation will be at a usable level for a long time, if ever, because it is impossible to distinguish inharmonics and characteristic sound of different instruments without an exact spectral print of the source instruments. Think of a flute for example, a very clear tone with little harmonic content above the fundamental. But it wouldn't sound like a flute without the characteristic wind sound, which would be pretty impossible to remove from a mix of instruments because there is nothing to tie it to the harmonic content, aside from our perception that it is the wind from the flute.
I think the only way that would get close would be a self-learning, intelligent system which analyses and categorises thousands of instruments and makes a guess based on that information, then analyses the result as a whole and estimates the chances that it is correct based on past results being correct or not.
I'm sure that when source separation is at a usable level, we will all hear about it. I know that a lot of questions on this site would have new answers.