As long as you sound sincere, you can really say anything. I actually don't think that "I work too hard" is such a bad answer. Of course you can put it a little better, and a little more convincingly, such as "I tend to get overextended because I get excited about too many different projects. At times I've had to give up projects part way through or have ended up doing a sloppy job because I was stretched too thin."
I was recently asked this question in an interview for residency. I gave the answer above, and then said that another area where I think I could improve is in patient care, because I tend to get emotionally attached to patients, and sometimes have trouble watching them suffer. I have had to excuse myself at times to go cry, and I think it has more than once prevented me from handling a situation in the best possible way because I lacked the necessary perspective.
Although I do sincerely believe that this is a weakness, I was also acutely aware that the interviewer would perceive this as a strength -- without me having to point it out to her. In fact, she was so convinced, she pointed it out to ME. She said, "You know, I do that too, and sometimes it does get in the way, but for the most part I consider it a strength. Hold onto that feeling, because it makes you a better patient advocate."
I think the best thing to do is sit down and think about what your weaknesses REALLY ARE. (Duh.) But be honest with yourself. And then be wiley and think about how you can turn it around to your advantage. You don't need to kiss ass to do this either, because you can write out the entire equation, complete with total humility, and let them figure out what it all adds up to.
Of course moo won't like this advice because s/he doesn't like any advice, or at least doesn't follow it.