> (1) Is this proof valid ?

Yes, this proof for the cylindrical body is perfectly valid.

> (2) How can I write a proof with any general solid ? (not just cylinder)

Archimedes' principle for an arbitrarily shaped body can most easily be proved
with Gauss' gradient theorem.
This theorem relates an integral over a closed surface area 
to an integral over the enclosed volume.
$$\oint p(\vec{r})\ d\vec{A} = \int \vec{\nabla} p(\vec{r})\ dV \tag{1}$$
where $p(\vec{r})$ is any position-dependent function,
and $\vec{\nabla}$ is the [gradient][1] operator.

Now, as the position-dependent function
we take the pressure 
$$p(\vec{r})=p_0-\rho gz \tag{2}$$
where $z$ is the vertical position coordinate
and $p_0$ is the pressure at zero-level ($z=0$).

Then the gradient of (2) is
$$\nabla p(\vec{r})=-\rho g\hat{z} \tag{3}$$
where $\hat{z}$ is the unit-vector in $z$-direction.

Inserting (3) into (1) we get
$$\oint p(\vec{r}) d\vec{A} = \int (-\rho g\hat{z})\ dV. $$

Now on the left side $p\ d\vec{A}$ obviously is (except for its sign)
the pressure force acting on the surface area element $d\vec{A}$.
And on the right side, the constants $(-\rho g\hat{z})$ can be factored out.
So we get
$$-\oint d\vec{F}=-\rho g \hat{z} \int dV$$
or finally
$$\vec{F}=\rho g \hat{z} V$$
which is just Archimedes' principle.

 [1]: https://en.wikipedia.org/wiki/Gradient