My personal view is that NYC for a short break is a waste of time and money. Others may disagree.
The flight costs are realistically the same whether you go for 2 days or 14 days so the longer you stay the less proportion of the trip they make up. So the cost of staying longer is actually not hugely more than staying for just 2 nights as the flight will make up the bulk of the cost.
Secondly, getting to New York is an all day event, realistically. You are not really going to do much the day you get there, depending on your flight choice you will perhaps end up just going straight to the hotel. Longhaul transatlantic flights are a nuisance and it's nice to have time to get over them. Which you don't have for a weekend because you wake up Saturday, have a day in New York then suddenly it's Sunday and its time to go home again. Whats the point?
Far better to go for 1-2 weeks instead and spread your time out - it will likely work out hardly any more expensive to do a twin or even three centre trip taking in Boston and Washington DC too.
If you are going to travel long haul make the most of it and stay as long as you can.
On a related note 2 days itself is probably fine for NYC - I've never bothered staying any longer than that - but not with a long haul flight either side of it.
If you only have a weekend there are LOADS of fantastic cities to visit in Europe where you will have just as much fun and will find more enjoyable as you'll only need a 1-2 hour flight. This is what I do, short breaks = Europe and I save the USA for the annual long trip. I think you get much more out of your time that way.