We run our showcase from 4:30 to 5pm on a Tuesday (the last day of our weekly iteration). At 4pm we prepare the showcase and run a rehearsal so that the sequence of demonstrated stories flows smoothly and delivers a narrative. Our first showcase was a popular event. So many people attended that they couldn't all fit in the room.
The Product Owner kicks off the actual session by introducing the iteration goal to the customers and product stakeholders. Then each story owner introduces their story and conducts a demonstration of the functionality they have delivered, fielding questions as they go. At the end, the Product Owner publicly accepts (or rejects) the iteration deliverable, giving permission for it to go live (or not).
I like the story owners to present their stories because it gives them an opportunity, in the limelight, to strut their stuff and show off the results of their hard work. It helps support accountability within the team and it gives them a sense of closure. It also lets the stakeholders know who they are.