It really depends on the situation. CVs are good at defending SZs and allowing transports to pass through, but poor at attacking convoys/fleets. Good in a forced battle, such as in landing on the enemy coast, where he has to attack you to protect his country. Plus, the fighters can fly to the mainland in an emergency and assist in landings. BBs can be helpful in attacking the enemy fleet for 1 round, using them to soak hits, then retreating (and repairing). SSs are the most efficient in a win-or-die naval(only) scenario, but can be attacked by aircraft with no chance to fire back. I would only use SSs to hassle convoys by not letting them load/unload, and then using them to soak hits. DDs both attack and defend on 3, so they are versatile in both defending a SZ and attacking one, but I wouldn’t build them if I had something specific in mind.
But really, you can’t ask that question without TPs. An analysis of a naval battle without TPs is useless, really, because why have a navy if no TPs are involved at all? It’s necessary to take into account that 1 attack that hits both air and sea for 8 IPC, after unloading troops. It’s also necessary to understand that if one has been substalled, then using transports to take hits doesn’t become efficient.
My 2 cents, AK