Made penumbra size vary width with shadow_coord.z or the cascade index (0 being closest cascade of the 4) and blending between cascades appears more tolerable.
The shader now actually does two comparisons, and may or may not be a tad bit faster. If anyone can figure out what the blocker search distance (searchDistance) is supposed to be optimally, I'll be forever grateful.