If a shorter, part-day, no-ferry drive would be better, how 'bout a Snohomish County tour, with a stop somewhere for lunch:
Start: Monroe - to Granite Falls (via Lk Rosinger) - to Arlington - to Silvana - to Stanwood - one lap around Camano - down the Warm Beach Road, along Port Susan - to Marysville.