I say 8-10, but I really think mostly 10 is the age range I'm interested in. Before puberty, so kids don't freak out about what's happening. I don't think telling them the nitty-gritty of sex, safe sex, etc. should be a topic for really early in life.
If I see one of the kids I babysit "fiddling", I tell them that they don't need to be doing that in front of everyone, even if it's family.
Kids start asking about why boys and girls have different parts: something general like "they have different jobs when you get older, you'll learn the specifics when it's closer to that time."
Kids try to go off and experiment with their friends: "you'll have plenty of time for that later in life, but your bodies need to catch up first."
Around 9-11 age range, I think kids need to know what their bodies are about to do (especially for girls, I can only imagine how traumatizing having your period is when you've never been told that it's going to happen.) But telling kids about STDs and such before their bodies are even supposed to be ready for sex kills the innocence, I think...
Edit: and if my kid started asking where babies come from (assuming they know it's in the mommy's tummy first), I'd tell them something like "the daddy helps the mommy start getting a seed to grow in her belly, then the belly keeps the seed healthy as it grows until it's big enough to handle the outside world." Accurate but no penises and stuff, I've met toooooo many kids wanting to have babies. If they ask how they get the seed and stuff, I'll tell them to save some knowledge to learn when they're older or something, or "it's a secret for when you grow up a little more"