Ahem. "No longer available" is a 410 ("I took it away on purpose") not a 404 ("Sorry, can't find it"). You can make a separate 410 page or send users to the same physical page as for 404; use your judgement.
If the page content has simply moved to a new URL then of course a 301 is appropriate.
On the "soft 404" page
I think you may have misunderstood what a "soft 404" is.
If a page is gone, you can't expect to return a 200 forever without consequences. Better to deal with it upfront.