Our nine year old daughter can pack her own lunch. She doesn't do it everyday, but she can make a sandwich, grab a fruit, snack, and water.
It's up to the parent to make sure the food in the house is healthy. That eliminates the problem of filling their lunch with junk, although I'm not opposed to having a small treat in a packed lunch.
Our six year old doesn't seem to be interested in packing her lunch, but if it was pre-assembled, I'm pretty sure she is old enough to learn to put it in her lunch box.