This probably didn't exist when the answers were written, but since I came here with the same question and found a better solution, here it is for future googlers:
What you want is the coalesce() function from dplyr:
y <- c(1, 2, NA, NA, 5)
z <- c(NA, NA, 3, 4, 5)
coalesce(y, z)
[1] 1 2 3 4 5