Unless the runner advances an additional base, I don't think you charge an error to anyone (regardless of whether it was the catchers bad throw or the MIF missing the catch). I think it's just a stolen base for the runner, because in most cases it's going to be tough to decide whether the runner would have been out.
If the runner does advance, I think the catcher is going to get the E most of the time, unless it was a complete whiff by the MIF. Obviously airmailing it into CF is a catcher error...I think the catcher is probably getting the error on a bounce or an offline throw as well, even if it "should" have been handled.