How to import Reusable Blocks programatically?

The easiest solution so far seems to be creating the Reusable Blocks as custom post types:

wp_insert_post([
    'post_content' => '<!-- wp:shortcode -->
[slider]
<!-- /wp:shortcode -->',
    'post_title' => 'My Slider',
    'post_type' => 'wp_block',
    'post_status' => 'publish',
    'comment_status' => 'closed',
    'ping_status' => 'closed',
    'guid' => sprintf(
        '%s/wp_block/%s',
        site_url(),
        sanitize_title('my-slider')
    )
]);

This way, I can create a library of blocks, loop and import them all.

Probably, as @kero mentioned, the core JSON import works the same internally.