Phone= tag formatting in the US, +1 NXX NXX-XXXX vs +1-NXX-NXX-XXXX vs?

Until I researched this topic, I never quite appreciated the reasons for all these different formats. Clearly, some variants like 000.000.0000 and 000/000-0000 are purely stylistic. But other variants communicate subtle nuances about local dialing procedures, at least according to some style guides:

Format Dialing procedure Trunk prefix Area code
1 000 000-0000
1 (000) 000-0000
(1-000) 000-0000
7-digit dialing Optional Optional
1 000-000-0000
(+1) 000-000-0000
10-digit dialing Optional Required
1-000-000-0000 11-digit dialing Required Required

I suppose these nuances can be the responsibility of a software library that includes a table of dialing procedures by NPA. But that raises the question of why we’re even bothering to format these tags for human consumption. Omitting any punctuation would be less error-prone and more compatible with the tel: URI format that smartphones actually use to place calls. Another consideration is that NPAs sometimes adopt ten-digit dialing; either we’d have to make a bulk edit, or every software application would need to update its table of dialing procedures.