For me CLAMP_TO_EDGE works pretty well
If this doesn't work you should check your shader for computation of corresponding cube face, but I think this should not be the problem because neighboring faces share same edge
My cube faces are all on a single texture that's subdivided into an NxM grid. For each light, I render depth/shadow data to a viewport/cell on the grid instead of a unique FBO per face. This saves me FBO changes, texture units, and allows me to render multiple lights and shadows per pass.
CLAMP_TO_EDGE won't work with the subdivided texture because not all edges are on the texture's border.
Clamping UVs in the fragment shader, to not cross cell boundaries, behaves as I'd expect it to but doesn't fix the outline.