You _can_ use send~/receive~ inside poly~, although you may not want to. I tend to agree with many here that patch cords are best.
Here’s an example of dynamically assigning send~ names inside a poly~ to create variable-pass effects (Jitter and MSP) – passing signal or data from one instance of poly~ to the next. Other better ways to do this though, this is really only for example. Was posted here a few years ago, but the attachment is missing for some reason.