Regexp no usa \ para proteger - en una expresión entre paréntesis . Solo tienes que poner - como primer carácter, justo después del paréntesis de apertura:
IF REGEXP_LIKE('--,,::', '[\-,:]*')
...
=> ORA-12728: invalid range in regular expression
Si tienes curiosidad, cuando encuentres [\-,:] Oracle entiende:"cualquier carácter en el rango de \ a , o el caracter : " . La razón por la que esto genera una excepción es \ parece ser después , según su valor ASCII. Y Oracle no acepta rango teniendo un valor inicial después del final.
Por otro lado:
IF REGEXP_LIKE('--,,::', '[-,:]*')
Funciona como se esperaba.
Como nota al margen,
[-,:]{0,1} que significa "cero o una ocurrencia de - o , o : " podría escribirse [-,:]? .