Windows architecture for sockets seems to be adverse to good UDP performance from multiple copying of packet buffers from the kernel through protocol handlers to the application. MSDN seems to prefer pointing developers to the Winsock Kernel (WSK), replacing the former Transport Driver Interface (TDI), if they want reasonable datagram performance such as implementing a reliable UDP protocol.
However it might just be non-stellar Windows drivers for your NIC hardware, for I see great performance on Linux with Broadcom hardware but less than 25% of the performance in Windows. Some of this I can see is due to lack of transmit interrupt coalescing, Windows performance monitoring always reports 0 coalesces for transmits but a variable range for receives. On Linux I can tune the coalescing and see distinct performance changes. The driver software from Broadcom only appears to support transmit coalescing on later hardware releases.
Coalescing means that packets are being sent in batches into and out of the NIC, batching packets will usually mean lower CPU usage and less chance of dropping due to full buffers or other system activity.
So whilst it looks like it would be impractical to change OS you can try different hardware to minimize the impact of limited drivers.