500 Hz PWM? That is slow. That would be fine. Are you send shiftOut( ) or SPI signals too?
I have to be honest in saying, I'm not fully sure. I haven't done a whole lot on the coding side, I just know that at some point, I need a PWM signal for 8 LED drivers. I figured a wired connection would be the easiest to set up, and eventually move on to more innovative methods, but in the past, at least with PWM signals, I've gotten spotty results (Some work, some don't, some flicker, etc), but I think it was due to poor soldering and poor board design.
One way to solve the problem for longer distances is put a microprocessor on the other end, and hook both up with RS485. Then on the first processor, it just sends down requests (turn on PWM to this frequency, turn it off, turn on led, etc.).
I would use a microprocessor with serial support on each end, and not something like ATtiny85's. That way, the RS485 handles error correction, etc. and you are not sending PWM signals down the line continuously. You don't necessarily want an Arduino development system on each end.
Eventually, that's actually what I want to do. Eventually I want several "sub"controllers in charge of remedial tasks while the main controller fine tunes and acts as the user interface. I was trying to start simple first, at least get something that works before moving on to more complicated additions, though the more I think about it, going ahead and adding the second controller would probably make it easier... Eventually I want to make it all bluetooth, but that's another hurtle for another time.