Corporations do have to pay taxes on overseas earnings if they want to bring those earnings back to the US. As far as I'm aware, it's the same for US human citizens. (It's certainly the case for Australian citizens.)
Switzerland is a difficult subject because they don't identify you when they report your taxes so the IRS has to trust the Swiss gov't is telling the truth. I believe they have reached an agreement that favors the US and have a lot of Swiss account holders pissed off.
Its as if you moved to Ireland, and had Irish children. These children wouldn't have to pay taxes to the US even though they're all supporting the same family.