There are
2,707 mi
from Portsmouth, VA to Canyon Lake, CA
That's the driving distance. It would take 1 day 23 hours to go from Portsmouth, Virginia to Canyon Lake, California.
The flight distance (direct flight from Portsmouth, VA to Canyon Lake, CA) is 2,304.30 mi.
2,707 mi = 3.22 kms