You can do something like this:
writer = vtkPolyDataWriter()
if best_distance == distance_before_align:
writer.SetInputData(original_source_polydata)
elif best_distance == distance_after_align:
writer.SetInputData(source_polydata)
else:
writer.SetInputData(transform.GetOutput())
writer.SetFileName('AlignedSource.vtk')
writer.Write()
writer.SetInputData(tpd.GetOutput())
writer.SetFileName('Target.vtk')
writer.Write()
This will give you the aligned source and target as VTK files that you could load into ParaView.