Score the skin of each duck breast in a criss-cross pattern. Melt the butter in a large frying pan and cook the duck breasts, skin-side down, over a medium heat for 10 minutes, until the skin is golden and the fat has run out of it.
Meanwhile, use a sharp knife to peel the oranges down to the flesh, cutting away all the pith (do this over a plate to catch any escaping juice), and then cut into segments between the fine skin. Remove any pips.
Pour the fat away from the pan the duck breasts are cooking in, then cook the breasts, flesh-side down this time but still over a medium heat, for a further 8 minutes. Remove the meat from the pan and slice it, arrange it on a warm plate, top with the orange segments and keep it warm.
Add the orange juice to the pan (including any juice from the plate), along with the vinegar and sugar, and bring to a simmer. Remove from the heat. Mix the cornflour with a little water, add it to the pan and stir well until smooth. Finally pour in the Grand Marnier.
Pour the sauce over the sliced duck breasts and serve.