If you assume one per ms then timeflake and UUIDv1 both have a 0% chance of collision as they encode the timestamp.
You might go above this rate some of the time though and we might as well strive for perfection.
One of the nice things about UUIDs is that you can just merge data together willy-nilly without worrying about collisions - for example, if you gets bought by Google. You can't really do this with timeflake.