We did a Panama Canal full transit on the Island Princess over the holidays. We sailed through the Canal on Christmas day, which I thought was perfect. No worries about stopping at a port where all the shops were closed. We had all the Christmas "extras" mentioned by other posters plus the Canal.
The cruise was 15 days long, ending in January after most schools were back in session, so we had very few children on board. This may be an option for folks who don't enjoy cruising with a lot of children and teenagers. We are definitely member of that group.