Working with `GraphicsComplex` retains a degree of flexibility.  For instance,

    Graphics3D[GraphicsComplex[p[[1, 1]], Line[Rest@Cases[p, Line[z__] :> z, Infinity]]]]

![enter image description here][1]

gives the Mesh in 3D.  (`Rest@` deletes the perimeter of the surface.)  If, instead, a plot of the points in 3D is desired, use

    Graphics3D[GraphicsComplex[p[[1, 1]], 
      Point[Flatten[Rest@Cases[p, Line[z__] :> z, Infinity]]]]]

![enter image description here][2]

The same plot in 2D is obtained by dropping the last coordinate of each point.

    p1 = Graphics[GraphicsComplex[Most /@ p[[1, 1]], 
       Point[Flatten[Rest@Cases[p, Line[z__] :> z, Infinity]]]]]

![enter image description here][3]

A `List` of the points themselves is obtained from 

    Cases[Normal[%], Point[z__] :> z, Infinity]

as suggested by Guesswhoitis and belisarius.

  [1]: https://i.sstatic.net/h35xG.png
  [2]: https://i.sstatic.net/2G08k.png
  [3]: https://i.sstatic.net/vxPBg.png