The question is all in the title.
My take: sharding is a base level solution which ideally a programmer using a sharded system shouldn't need to interact with (but I think this probably isn't true, which is why sharding is often considered inelegant). Whereas a payment channel is also a method of scaling, but is a temporary thing that is opened for a period of time and then closed, with a settlement to the main chain which happens when the channel is closed.
So, sharding is at infrastructure level (programmers using the system should not be involved in creating shards), whereas to use a channel it's more likely that a programmer is going to open & close one.
Sharding has its own issues; putting transactions on a payment channel means that anything that happens on the channel will not be visible on-chain until the channel is closed, or at least until it issues a settling transaction on-chain, so visibility will be reduced.
Reason I'm asking this question is I'd like to establish whether a (very) fast L1 actually has an advantage of any kind over Hydra (which I'm also seeking to understand here). Apologies the question is very incomplete at present, and this is just a draft note, can update it as we learn more.