Since a grammar is just a special type of class you can put regexes into roles and compose them together. You can even inherit from another grammar if you only need to change parts of it.
Also if there is something that is difficult to do regularly in the regex sub-language, it allows you to use regular Perl 6 code inline.
(A regex is just a special type of method with a domain specific sub-language.)
Also if there is a bug you can use Grammar::Debugger or Grammar::Tracer to help find it.
(I had a bug in the earlier post and used Grammar::Tracer to find and fix it within seconds.)
A Perl 6 grammar can look remarkably similar in structure to BNF.