Whenever I implement a touched event it seems there is a slight delay. About half a second, not really noticeable but if you jump you can immediately notice it. What have I been to combat it? Well I have an old module which calculates the verticies of simple primitives (block, sphere, cylinder, wedge) and have it loop thru aabb checks with a blockier version of the player. However as you might have been theorizing this is not ez nor a computational easy task for the computer to do (especially for lots of connections lol). So where does the problem really stem from? I think from there I would be able to find a better way to approach the problem.
For me if .Touched is being unreliable, it’s normally because it does too much, it’s probably your computer that causes it to happen about half a second later that is noticable, because mine is always too fast.