Secondo me per un operazione così anche il tool di windows può andare, anche se non è un granché è vero.
Se vuoi un altro nome, spesso ho usato GParted, basato su linux, non è perfetto ma non mi ha mai dato problemi particolari, funziona.
Vorrei specificare meglio il post corretto di Danilo Cecconi.
Il backup è un ottimo consiglio che faccio anche io, per quanto posso dire, senza vantarmene!

, che non lo faccio mai quando faccio queste operazioni, e fino ad oggi mi è andata bene, ma alcune volte ho sudato freddo

Tra l'altro è un operazione che può richiedere anche qualche ora, e non si può interrompere, a seconda di quanti GB devi spostare, e nel frattempo può succede di tutto, anche mancare la corrente; se capita è quasi sicuro che perdi dati.
Quindi consiglio caldamente il backup.
Seconda cosa, una volta scelto il programma, la prima operazione da fare è ridurre la partizione D:.
Per farlo bisogna spostare l'inizio della partizione verso la fine del disco, di tot GB, in modo da creare dello spazio libero PRIMA della partizione D:, ma dopo la partizione C:.
Se D: è una partizione logica, allora questa sarà contenuta dentro una partizione estesa, che è semplicemente un contenitore.
Niente di problematico, dopo che riduci D:, basta a fare la stessa identica operazione alla partizione estesa.
Se hai Windows XP, D: molto probabilmente è una partizione logica, se hai vista o 7 D: invece probabilmente sarà una partizione primaria come C:.
Notare che l'operazione che può richiedere anche qualche ora, è la riduzione di D:.
Il tempo è necessario perché, siccome la stai riducendo, e più precisamente stai facendo iniziare la partizione da più avanti nel disco, i dati scritti in quelle parti del disco devono essere spostati per rimanere dentro D:.
Quindi se riduci D: di 10 GB, il PC dovrà spostare almeno 10 GB di roba.
Una volta fatto questo, tra C: e D: ci sarà dello spazio libero non partizionato. A questo punto basta che estendi C: fino a saturare quello spazio.
Questa operazione dovrebbe essere veloce.
Una volta terminato, esci dal programma e riavvia il PC.
Windows probabilmente farà partire in automatico il chkdsk (lo scandisk), perché rileva delle incoerenze nel disco, fallo fare che va tutto bene.
PS: prima di fare tutto, consiglio un CHKDSK C: /F (per questo farà riavviare) , e un CHKDSK D: /F , dal prompt dei comandi