Virtual DJ does a decent job at it. And I do mean decent. I can take out the background music and leave just the vocals (Karaoke style) in addition to vice versa. For some songs, it works out well. However, for a lot of songs, it isn't as clean as one can hope.
In addition, you would have to click record and in the moment, play the mix, click the required effect and wait it out as it plays. It doesn't allow you to edit music as a whole, but play them as a DJ would play them and record them. Eeek.