I gathered from elsewhere that the average number of hashes needed to get one block is given by the difficulty times 2^32. If this is correct then:
The average number of hashes per block right now is 1,564,057 * 2^32 = 6,717,573,664,079,872 = 6,717,573,664 Megahashes/Block
Using your number of 2.3 Megahashes/Joule yields 6,717,573,664 / 2.3 = 2,920,684,201 Joules/Block
Finally 2,920,684,201 Joules/Block is 811 KWh/Block
Using your number of 0.15 $/KWh yields $121.65 per block or $2.43 per Bitcoin.
I have checked and rechecked these numbers and given the assumptions I believe they are correct.
Of course the 2.3 Megahashes/Joule is only the energy used by the video card and does not take other power consumption and cooling costs into consideration.
So the actual cost is more, this is just the lower bound.