My son is overweight even though he is very physically active and plays sport most nights of the week. He's got a big appetite and eats as much as a grown man (he's 12). I've tried cutting down on portions, but it's hard because he always seems hungry.
Kids can be obese for many reasons, ranging from hormone problems, to gut bacteria issues, to medication side-effects. But in most cases, its nothing more exotic than too much energy going in and not enough coming out. If your kid is highly active, he's already doing better than most kids, so let's look at the other side of the equation: caloric intake.
If a person wanted to gain weight fast, they'd eat calorie-dense food preferably in liquid form, because liquids don't make us feel "full". They'd eat large quantities fast so their brains didn't have time to send the hormonal signals of satiety. And they'd minimise consumption of calorie-light and hard-to-digest foods like uncooked vegetables and whole fruits.
So, let's try the opposite. Eliminate one or two calorie-dense favourite foods from the family shopping list (such as soda or sweets); just don't keep them anywhere in the house, for anyone. When you do buy them as a rare treat outside the home, buy small, single serves. Fill the fruit bowl as an alternative so your kids are never truly hungry. Apples are fairly cheap and effective fillers.
Trade low-fat milk for whole. If your kid gobbles up food and still feels hungry, give him a low-calorie, high-fibre food like an apple and a glass of water half an hour before dinner - the fibre and fluid bulk up in the stomach and intestines and will help prevent overeating. Serve dinner in two or three divided courses, with breaks in between. Keep portions small. And always try to dilute the calorie density of foods.