Update: Using Raster3D
and a variation of func
that returns 4-tuples
data3C = RandomReal[1, {10, 6}];
func3C = Nearest[{#, #2, #3} -> {##4, .03} & @@@ data3C];
tbl3C = Table[ First[func3C[{x, y, z}]] // Quiet, {x, 0, 1, .01},
{y, 0, 1, .01}, {z, 0, 1, .01}];
Examples:
Row[Labeled[Graphics3D[Raster3D[tbl3C, ColorFunction -> #,
Method -> {"InterpolateValues" -> True}],
Background -> Black, ImageSize -> 400,
SphericalRegion -> True], #, Top] & /@
{Hue, RGBColor, (GrayLevel[#[[1]], .03] &)}, Spacer[5]]

colorRules = Thread[# -> (ColorData[1, "ColorList"][[;; Length@#]])] &[
Flatten[tbl3C, 2] // DeleteDuplicates] /. RGBColor -> List;
Row[Labeled[ Graphics3D[Raster3D[tbl3C /. colorRules, ColorFunction -> #,
Method -> {"InterpolateValues" -> True}],
Background -> Black, ImageSize -> 400,
SphericalRegion -> True], #, Top] & /@
{(RGBColor[#[[1]], #[[2]], #[[3]], .01] &),
(RGBColor[#[[1]], #[[2]], #[[3]], .03] &),
(RGBColor[#[[1]], #[[2]], #[[3]], .05] &)}, Spacer[5]]

Using version-9 built-in Image3D
with @Mr.Wizard's func
:
data = RandomReal[1, {20, 4}];
func = Nearest[{#, #2, #3} -> #4 & @@@ data];
dta = Table[func[{x, y, z}] // Quiet, {x, 0, 1, .005}, {y, 0, 1, .005}, {z, 0, 1, .005}];
Grid[Partition[
Image3D[dta,
ImageSize -> 350, ColorFunction -> #, Background -> Black] & /@
{"SunsetColorsOpacity", "RainbowOpacity", "WhiteBlackOpacity",
(Append[Blend[{LightBlue, Blue, Yellow}, #], #] &)}, 2]]

MeshRegion
does not support arbitrary 3D cells, which would be needed for a representation of a Voronoi tessellation in 3D. So the mesh region functionality may not help much :-( One possibility might be using qhull. It has a command line interface, which can be accessed with RunProcess. MATLAB has qhull built in. If you have MATLAB, you can call it with MATLink. $\endgroup$