I always call rather than email as I can then make sure the rep understands my question and I find I get a much quicker resolution that way, often on the spot. If not during the phone call, the CS rep usually sorts it out within an hour, 24 hours or however long they told me it would take when I spoke to them. I have dealt with many knowledgeable, helpful reps who have dealt swiftly and satisfactorily with my answer/problem.
However, I am finding that more recently, I'm just as likely to encounter reps such as @John1080 describes. You try to explain the issue again in some way that would get them listen to what you are actually saying rather than repeating the same stock response back as if they are reading from a call sheet.
As for CS not closing a case until both they and the customer have agreed it's resolved, that has not always been my experience. I spent months trying to get some help for a problem with my stats.
I spoke to about four or five different reps, who all told me they would get back to me and never did. Finally, I managed to speak to one who was willing to actually look into it. He identified a couple of problems which he needed the tech team to fix. After a few days of not receiving a response from them, he messaged me to say that he was going away for the weekend, but would try again the following week.
I never heard from him again. I had no way of responding to him because the case was just automatically closed even though the problem wasn't solved. So, I had to call again, but rather than put me back in touch with the guy who had been dealing with it, the lady said she would "look into it". Guess what? I never heard back from her or anyone else about it again.