There is not a way to connect a variant metafield within the Theme Customizer, so we must rely on raw HTML & Liquid, plus the option to refresh using the existing variant Javascript.
Recommended reading
In this section...
Content Block Option
Enable reload on variant change
Variant metafields are added in the admin, and can be displayed using Liquid. Enable this option to allow the block content to update when a new variant is selected. This will ensure the metafield data is displayed for each variant.
Metafield Overview
By default, the Namespace will default to 'custom', but you can use any title your prefer. You will need the 'Namespace and key' when adding the Liquid code
Using this, you could display the metafield using:
{{ product.selected_or_first_available_variant.metafields.custom.color_description }}
Raw Code
The following is a breakdown of the default code found in the block:
Example
<strong>Custom liquid Block:</strong> {{ shop.name }}
Variants
{% if product.selected_or_first_available_variant.metafields.custom.size > 0 %}
<ul>
{% for definition in product.selected_or_first_available_variant.metafields.custom %}
<li><strong>{{ definition.first | replace: '_', ' ' | capitalize }}:</strong> {{ definition.last.value }}</li>
{% endfor %}
</ul>
{% endif %}
Products
{% if product.metafields.custom.size > 0 %}
<ul>
{% for definition in product.metafields.custom %}
<li><strong>{{ definition.first | replace: '_', ' ' | capitalize }}:</strong> {{ definition.last.value }}</li>
{% endfor %}
</ul>
{% endif %}