It sounds like you just want a version of “sweep” that only works with two geometric primitives. The PhysX sweep function (in PxGeometryQuery.h) may be what you need. Also see BodyInstance.cpp for how UE4 calls this function.
It may be possible to “sweep” a sphere outwards along the aim direction. I’m not 100% sure about this, but perhaps the result of the sweep (FHitResult) will tell you about where the sphere left the overlapping geometry.
Another option is just to pick a point (say 10,000 units away) along the aim direction, and then sweep inwards towards the overlapping geometry (using something like KismetSystemLimbrary::SphereTraceMulti). Look through the returned FHitResults until you find the one that describes the impact point between the sphere and the world geometry. This is probably not a very efficient solution, so you may need to optimize this on your own.
One more thing: once you find the penetration depth along the aim direction, you’ll need to make sure that your sphere is still sitting on the floor after it has been moved.