But I usually work with unix/linux production servers, and that's the configuration I'd expect for most projects. So the pain points mostly come from reproducing a LAMP like environment on windows, with all the specific configurations and modules when needed.
There are little things, like small changes in the config files to adjust for windows, and there are the "why am I doing this" things like trying to compile additional/specific PHP modules on cygwin, with the dependency matching games and all the cygwin idiosyncrasies and limitations to learn first.
It's easier on OSX as compiling OSS projects requires minimal adjustments, the file system mostly behaves the same as other unixes/linux (except for case sensitiveness...), and all the unix tooling is available (no extra learning curve is a bonus). A separate linux/unix VM closely matching the prod environment would still be the best option, but most of the time OSX is good enough to not bother.