I know it’s too late, but here is a better solution, without setting margins. Margins should be set differently for different heights of TextBlock or Checkbox.
<CheckBox VerticalAlignment="Center" VerticalContentAlignment="Center">
<TextBlock Text="Well aligned Checkbox" VerticalAlignment="Center" />
</CheckBox>
Update:
It’s worth checking out @nmarler’s comment below.