To calculate a volume, you need the 3D Analyst extension. 3D Analyst has several ways to calculate volumes. All methods require the data to be in a projected coordinate system. You can use TIN or Terrain surfaces.
Method 1: Surface Volume This method assumes one of the surfaces is a flat plane and the other surface varies. It can calculate volumes above or below the varied surface. One limitation of this tool is that it calculates the volume for the entire TIN surface.
Method 2: Polygon Volume This method also assumes one of the surfaces is a flat plane, but it allows you to use a regular polygon feature class as input and it will only calculate the volume for the overlap between the polygon and the varied surface. In essence, this allows you to choose an extent for your volume calculation. Technically, I think this tool supports having multiple polygons at different elevations, but I haven't tested that scenario.
Method 3: Surface Difference This method allows you to calculate the volume of two surfaces that both vary. They can be above, below, or even intersect each other. This tool only calculates the volume where the two surfaces overlap (X & Y overlap).
If you assume your soil piles lie on a flat plane, then Method 1 or 2 will work. If the piles vary in depth and height, then Method 3 should work. Either way, you will want to convert your 3D polygon layer to a TIN or Terrain surface first.
Method 1 allows you to specify an imaginary plane for calculating volumes, but still requires one proper surface. Method 2 requires one proper surface and a polygon with an elevation field. Method 3 requires you to create two surfaces ahead of time.