Yesterday, we did a demo for around 45 minutes, but that was for energetic little kids! Most of the time demo's for people who know nothing about FIRST will be around 5-10 minutes of talking and 10+ minutes of driving around and asking questions. (not always that long/short) It depends mainly on how much space, time, and the type of people that are there. Now, we have the kids, like myself, do a lot of the talking. I find it fun to talk about it to people, although sometimes I'm guilty of telling them technical stuff they don't want to know

.
Yesterday, we used some of our extra t-shirts as door prizes. It was fun showing the robot off for little kids and then asking them questions about the presentation, they were really excited to get a shirt!
Always mention interesting facts about your team(ie community involvement, special features that make your team great etc.). With the younger kids mention that they can join a Lego league team, then become a member of a FIRST team when they get a bit older.
-hopefully this made some sense and can help you all out somehow-
-Kyle