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]]

MeshRegiondoes 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$