Most partition management software will allow you to shrink one partition in preparation to enlarge an adjacent partition. When you shrink the D: partition, just be sure to shrink the side that's next to the C: partition.
http/www.partitionwizard.com/free-partition-manager.html
This is a risky operation though, since data is being moved (instead of only formatting and partition boundaries being changed). So be sure you have a backup. If the process fails, it can cause irrecoverable data loss. (It's also for this reason that I stopped trying to be cute and create separate partitions for the OS and data. It's too much work to fix it when one of those partitions runs out of space while there is plenty of free space on the other partition. Newer filesystems will let you over-provision, effectively allowing both partitions to "share" the remaining free space. But NTFS hasn't had a significant upgrade in, well, forever.)
But I agrree with Alabalcho. If you have 50 GB free, you shouldn't be experiencing any slowdown unless it's like a 4 TB drive. Have you tried defragmenting your C: partition?