Remember that questions on Stack Overflow are meant to help not only the OP, but all people who might find the question from web searches in the future.
It's therefore perfectly fine, even preferable to take your time and write a good solid answer. However, there is still value in helping the OP solve his problem quickly, so it's fine to provide a quick answer first and then follow up with the in depth explanation when you have time.
EDIT: I just realized you were asking this from the asker's perspective, but the point still stands: This site is meant to help more people than just the OP. In fact questions that are specific to one person get closed as "too localized".
It's perfectly fine to take the time to wait a few days for a good solid answer that will help future visitors before accepting, although a quick answer might have been all you needed to get past the problem.
You can still reward the quick answer with an upvote and possibly a comment.