I think it's generally agreed that the XIRR function in Excel results in the most accurate metric. But this requires that you keep track of every individual addition and withdrawal transaction by date for all your accounts. For us, this isn't too difficult because we are no longer contributing and the only withdrawals are periodic dividends from the taxable account. So, at most, two transactions per month, and these can be automatically downloaded from Fidelity to Excel.
Similar to what pb4uski posted, I also have my own Excel version of the moneychimp calculator, which only requires total YTD additions and withdrawals. This is slightly quicker than XIRR, but it assumes that all transactions occurred in a linear fashion. This works OK in our situation because, again, the dividends occur regularly and in roughly equal amounts. This is usually very close to the XIRR figure. If you have large non-periodic additions or withdrawals, this method will not be very accurate.
My favorite method, however, is to simply look up the YTD total return for each fund I own in Morningstar. This goes into the same spreadsheet where I track the portfolio. The spreadsheet mix-weights on current values for each fund and group of funds. I do similar mix weighting for yield, duration, and ER. We have 14 individual ETFs, so this takes a few minutes, and again, the result is very close to XIRR. The advantage with this method is that I can very quickly analyze which funds and groups of funds are contributing and which are lagging. I can also see the result with/without cash and real estate. Without a ton of extra work, the other methods only provide a figure for the total portfolio. This method won't work well if you've made significant changes to the portfolio during the year.