Here's a symbolic-algebraic way, based on the cylindrical algebraic decomposition (CAD) that Reduce computes.
(* Disk/Washer method *)
Clear[x, y, z];
eqns = {y == (x - 2)^4, 8 x - y == 16};
axis = x == 10;
{depV} = Variables[Subtract @@ axis];
{indepV} = Complement[{x, y}, {depV}];
vars = {indepV, depV};
components = Map[
Reduce[#, vars] &, (* compute CAD *)
MapThread[ (* construct divisions of the plane by the curves *)
ReplaceAll, (* replace == by all combinations of <, > *)
{eqns,
Thread[Equal -> #]}] & /@ Tuples[{Less, Greater}, Length@eqns]
];
(* compute bounds and pick out bounded components *)
bounds = RegionBounds@ImplicitRegion[#, Evaluate@vars] & /@ components;
bounded = Pick[components, FreeQ[#, DirectedInfinity] & /@ bounds];
bounds = Pick[bounds, FreeQ[#, DirectedInfinity] & /@ bounds];
(* check axis does not intersect interior *)
v0 = depV /. First@Solve[axis, depV];
If[bounds[[1, -1, 1]] < v0 < bounds[[1, -1, 2]],
Print["Warning: axis passes through region."]];
(* construct solid of revolution description *)
solid = bounded /. ineq : (h_)[v1_, r1___, depV, r2___, v2_] :>
If[v0 <= bounds[[1, -1, 1]], (* check which side *)
h[v1 - v0, r1, Sqrt[(depV - v0)^2 + z^2], r2, v2 - v0],
h[v0 - v2, r2, Sqrt[(depV - v0)^2 + z^2], r1, v0 - v1]];
(* set up volume integral(s) *)
integrals = bounded /.
HoldPattern[_[a_, ___, b_] && _[v1_, ___, v2_]] :>
Sign[((v1 - v0)^2 - (v2 - v0)^2) /. indepV -> Mean[N@{a, b}]] *
Inactive[Integrate][Pi ((v1 - v0)^2 - (v2 - v0)^2), {indepV, a, b}]
(* compute the integral(s) *)
volume = integrals // Activate // Total

Here's the Cartesian description of the solid of revolution:
solid
(*
{0 < y < 16 &&
10 - Root[16 - y - 32 #1 + 24 #1^2 - 8 #1^3 + #1^4 &, 2] <
Sqrt[(-10 + x)^2 + z^2] < 10 + 1/8 (-16 - y)}
*)
To visualize the solid, it's better to use RevolutionPlot3D, but here's what happens when you do a straightforward Cartesian RegionPlot3D:
maxR = Max[Abs[v0 - bounds[[1, -1]]]] + 0.1;
RegionPlot3D[First@solid,
{x, v0 - maxR, v0 + maxR}, {y, 0, 16.1}, {z, -maxR, +maxR},
PlotPoints -> 50, AxesLabel -> Automatic]

RevolutionPlot3D[]already? – J. M.'s missing motivation Apr 26 '16 at 02:52