text_format field value not appearing in full_html mode
You don't need to eliminate the #format. 

The format and value of the text_format are stored as an array. So in the same way as you retrieve the value you can retrieve the format.

See this example:

public function blockForm($form, FormStateInterface $form_state) {

  $body = !empty($this-&gt;configuration['body']) ? $this-&gt;configuration['body'] : '';
  $form['body'] = array(
    '#type' =&gt; 'text_format',
    '#title' =&gt; 'Body',
    '#format' =&gt; isset($body['format']) ? $body['format'] : 'full_html',
    '#default_value' =&gt; isset($body['value']) ? $body['value'] : '',
  );
  return $form;
}

public function blockSubmit($form, FormStateInterface $form_state) {
  $this-&gt;configuration['body'] = $form_state-&gt;getValue('body');
}