You can do it client-side in JavaScript. You can check the source out here. https://github.com/odoe/esritogeo
And I've started implementing the same thing in python, but in both directions. https://github.com/odoe/SpatialJSON
Here is a sample where you can use JavaScript to convert the results of an Esri map service query to GeoJSON to use in Leaflet https://gist.github.com/2424223