Cannon Beach is pretty but the town is a little too fancy for me. I prefer Seaside myself. I actually prefer Newport over either, and am in favor of the recommendation to drive south before heading over to the coast.
I like the drive from Salem to Lincoln City and then down. You can see Depoe Bay, Devil's Punchbowl and Yaquina Head. The road to Lincoln City is a much easier drive than the road at Corvallis -- have driven both many, many times. The road to Alsea is a little better than the road to Newport from Corvallis, but the road to Lincoln City is the best.
If time is at a premium, which it is, don't drive the coast road from Cannon Beach south. It Takes Forever -- a fact I recently relearned.