I turn the gas off to a keg when it's well carbed and serve with head pressure till it gets low then give it a shot of co2.
I do this, too. For carbing, I typically shake for a bit and then leave the keg hooked up overnight (maybe 12 - 24 hours) at 30PSI or thereabouts. After that, I unhook the gas and put the keg in storage for when I'm ready to tap it.
IMO and experience (no real science here), quick carbonation can be rough - larger bubbles that come out of solution more quickly - while if the same beer sits longer the CO2 seems to dissolve more fully into solution.
Also, even though you're dropping your head pressure to serve, the gas in solution hasn't fully equalized yet especially if you're serving right away. You may be getting more foaming and knocking CO2 out of solution more quickly, resulting in a beer that is carbed yet seems flat. I've had that with pours that come out too rapidly - big rocky head on a glass of flat beer.