We size a user story in about 30 seconds to one minute.
We discuss the basics of what the user wants. Very little time is spent on how it will be accomplished. If you get too far into how it is accomplished then you are tasking out the story, which is a different activity.
The most that should be discussed about the "how" for the story is any risks (like the story using a technology that no one on the team has experience with).
This is the key to sizing not taking forever. You are not there to design the whole story. Just to size it. Get a basic idea of what will need to be done and leave it at that. Defiantly don't end up arguing over how the story will be done unless there is a significant time difference in the different approaches.
After a brief discussion everyone picks a number (using story point cards or just in their head). You then show the number and discuss any differences.
After a short time of discussion a consensus needs to be reached.
Another key thing is to not size stories that are not in the current or upcoming epic/release. Scrum changes too fast to waist time sizing a story that may be eliminated or broken up.