For the first part of your journey, I'd suggest using the train. The Amtrak Cascades service runs between Vancouver and Eugene in Oregon:

You can find their timetable on their website, but a few of the services are actually buses. I'd suggest trying for the train rather than the bus, as the views can be better!
You can save some money by booking in advance, but the fairly last minute tickets aren't too terribly priced, if you want to stay flexible with when and where you travel along the way
For the next part south, you could take the bus, or you could take the train. Amtrak run a daily service called the Coastal Starlight train, between Seattle and Los Angeles, which will get you from Oregon to Oakland (bus/BART from there to SF). Heading south, it does that section overnight though, which might not be so good for stopping off to see places. Booking for tomorrow for a seat is only about $75 from Eugene to Oakland, so not too bad for last-minute prices, but overnight in a seat might not be so much fun...
Alternately for that section, Rome2Rio offers some other options, including several Greyhound buses a day between Eugene and Sacramento. You could maybe look at using Greyhound to get you the next bit, with daytime travel and stop-offs as desired.
If you do take the bus to Sacramento, then there are frequent-ish Amtrak Capitol Corridor trains to get you to SF in about 3.5 hours for a fairly reasonable price.