We struggled with this too and have a mishmash of vehicles because of changes at ING/INGDirect over the years since we started saving when our kids were toddlers (they're 13 and 15 now). ING initially had custodial savings accounts and brokerage accounts, which changed when they sold their Sharebuilder platform to eTrade and banking to Capitol One.
Savings: Currently Capitol One (formerly ING) with custodial savings accounts opened ~12 years ago. This was initially fine because the interest rate was pretty good and the same as the adult account, and eventually they'd be able to log in with their own login details. Fast forward a few years and the savings products changed to a "performance saver" account and the interest rate was 10x higher in these than the kid savings account. So, I opened one of these accounts for each of them and transferred their money to these. The discrepancy between the two account types isn't as large now, but still >1% (3.8% vs. 2.5%). With the higher interest rates in CDs, I've also opened these using money from their savings accounts leaving some in savings for them to draw upon as needed (and having the interested deposited into their accounts monthly). Their earned interest falls under our income in this scenario, but it was better than their money sitting idle for years.
Brokerage: started as Sharebuilder custodial when it was associated with ING, but changed to a non-custodial option when it was sold to eTrade. These accounts are in my name now (along with associated taxes from gains), and I stopped contributing to it once it was non-custodian (but their money has grown).
Custodial Roth IRA: I opened one for each of them through Fidelity once they started working a few years ago (babysitting, petsitting, lawn mowing, shoveling snow). Any earned income goes here, and the relatively small amounts have grown nicely (<$300/year). I have a spreadsheet to track contribution sources given that they're not getting 1099s or filing tax returns. Some parents strive to maximize this through various means (that fall into a questionable legal area to me), which we've never tried to do.
529: We contributed to this in a lump sum several years ago, and should probably add to it now that excess can be allocated to a Roth, but this is entirely our contribution and doesn't include monetary gifts to them.
Ideally, I'd prefer this to be cleaner and for them to be able to log into these accounts on their own. However, we discuss everything and I log in under my own credentials when they want to track progress or see what their savings are. I'm glad that I've been conscientious and deliberate about this though because they both have a lot more money than they would have had they just putting monetary gifts into a piggy bank (or a shitty kids savings account at a typical brick and mortar bank).