Actually the image based shadows can work, this masking is done in SilentHill2-4 and DT-Racer, the whole pixel wide halo that's not so annoying.
Actually you could mix both as it's not getting soft shadows, it's getting soft shadows that go soft based on distance. I think you could do both hard and gassious passes and then combine them using alpha destination plus depth detection to make distance determining soft shadows.
A sample version can apply aonly a mere extra sample, then use a gradient object fill-in, they work very well. They leave sharp points sharp and fill the rest in quite well, looking like the high sample version. It may look smoother then the blending used now too.