TSQL Re-Enabling Contraints take a long time Is there any way I can speed up the re-enabling of constraints?

As part of a job to update several tables in our Warehouse, which is being done out of hours, the re-enabling of constraints on said tables can take over an hour.  The rest of the job, the updates, take about 5 mins. Disabling the same constraints before the updates begin is sub second.

EDIT
The job in question is to update the PKs and FKs on rows of data before a given date so to prevent those records appearing in reports. A way to soft delete records` if you like.

Most of the table row sizes are >130m rows each except for one which is over 370m rows. The other two are smaller.

TableName   rows
Table_1     371255778
Table_2     131703902
Table_3     131665535
Table_4     131665535
Table_5     131665535
Table_6     131665535
Table_7     19364988
Table_8     1458800


I am using the following the command to disable the constraints on each table

ALTER TABLE database.dbo.table_name        NOCHECK CONSTRAINT ALL;

And the following to re-enable them again

ALTER TABLE database.dbo.table_name        WITH CHECK CHECK CONSTRAINT ALL;

there are no reports or other jobs running at the same time.

Is taking so long to re-enable constraints expected behaviour or is there something that can be done to speed it up?

Thanks in advance
As expected.

For example, CHECK constraints: every row must be checked for every check constraint.

If you have 3 CHECK constraints and 370 million rows, that's 1.11 billion checks to be done in a single ALTER.

Each UNIQUE constraint must check all 370 million rows, in the same ALTER.

This is why I don't normally disable constraints in my DWs.
It takes too much time. Especially when you get to billions of rows.