I've found a solution by utilizing the proj4js library to transform the coordinates. Here's how I achieved it:
var source = new Proj4js.Proj('EPSG:3857');
var dest = new Proj4js.Proj('EPSG:4326');
var p = new Proj4js.Point(-9096106.74,3679364.68); //this takes x,y
Proj4js.transform(source, dest, p);
this.map.setView(new L.LatLng(p.y, p.x),zoom);
Although this method works, I find it less than ideal due to the library's large file size. I'm still searching for a leaflet solution. Considering that leaflet internally uses EPSG:3857 for tile fetching, there should be a simpler way to accomplish this.
Update
If you prefer a purely Leaflet solution, refer to @ARsl's answer. I'm sticking with my current approach because I find the projection calculations a bit cumbersome, even though they are correct. Additionally, proj4js offers the benefit of supporting more datums.
UPDATE
For an alternative method in Leaflet without proj4js, take a look at @Moos'SamuelSilver's comment on this answer:
Leaflet.CRS.EPSG3857.unproject(Leaflet.point(x,y)) does the job pretty well. Source and further information can be found at leafletjs.com/reference.html#crs