Chuck has improved slightly since the beginning, but it still has one big problem. Every week, there's an A plot, which involves something spy-related, and a B plot, which involves Chuck's personal life. Okay, so far so good - the plots play off of and reinforce each other, the way that good TV plots tend to do.
But then, there's usually also a C plot, involving wacky hijinks with Morgan and the crew at the Buy More. And Chuck doesn't usually get involved in these plots because he's usually busy with spy or personal stuff, so the C plots don't really interact with the rest of the show at all. Which means we get 5-8 minutes or so of wasted time in every episode that breaks up the flow of the main storylines for the sake of (often dubious) humor. It's not a crippling flaw - at least, not yet - but it is annoying. If they want to inject some humor into the show, they really need to find a more natural way to do it (and I know they can, because there have been some very funny moments in the spy stories already).
I'll keep watching, but this show isn't going to become a favorite until they fix this problem.