It is still recommended to have cash on you, since it is the only available payment method in certain places. You will need some roubles before you enter the country because you'll need them to pay for any transport from the airport.
In most Russian cities, it is quite easy to exchange hard currency for roubles. Be aware that rates can differ substantially - this is especially important if you plan to exchange large sums of money. Visitors can use practically all banks or exchange posts. Also it's advisable to exchange any roubles into your home currency before you leave Russia, as the exchange rate will more than likely be better here.
Credit and debit cards accepted. ATMs plentiful. Euros or US dollars best currencies for exchange.