still does not look like texture filtering is on?
check your samplers for the shadow depthmaps and activate texture filtering by changing something like:
sampler sDepth1 = sampler_state
{
//...
MinFilter = point;
MagFilter = point;
//...
}

to for example:
sampler sDepth1 = sampler_state
{
//...
MinFilter = linear;
MagFilter = linear;
//...
}

The biggest problem with vsm is in my opinion light bleeding, when shadow casting objects overlap.
A better alternative would probably be exponential shadow mapping, it is very similar, but needs only one depth value instead of depth and squared depth and has less issues.