to should work wherever parse works (in fact, whenever you call to!someType(someString), I believe it just forwards to parse).
This is not the case; to doesn't work with ranges:
auto str = "1234567".byCodeUnit; auto result = parse!int(str); auto result2 = to!int(str); // doesn't compile