There is a good guidebook (Home | Waggoner Cruising Guide
) that covers the Puget Sound up to Alaska that answers the marina question nicely. It really can vary. The ones that aren't free for a couple of hours will normally change a small fee like 10-20 cents per foot for 3 hours of moorage. The book is really boring, but helpful and updated every year.
Get a solar shower and you can shower on the front of your boat for free (in a bathing suit at least). Just tie it to the jib halyard (clipped to the forestay) and raise it up above head level. Don't forget to have a messenger line of some sort to get it back down.
I haven't been north of the San Juans yet, but I found it easier to find good anchorages than to use mooring balls. I'd rather have a longer row into land then be stacked up super close in a mooring field.