Roches situas en vallarĝiĝo de Birs sub la ravino de Moutier inter Moutier kaj Delemonto. La rivero Birs trafluas la komunumo de nordo al sudo oriente kaj okcidente de ĝi leviĝas la rokoj de la ĵurasaj montoĉenoj, kiujn la ravino de Birs distransĉas. Al la komunumo apartenas krom la vilaĝo Roches mem ankaŭ la vilaĝeto Hautes-Roches, kiu situas proksimume unu kilometron okcidente de Roches sur alteco de 733 m s.m. sur teraso de la Monto de Moutier.
Tra Roches pasas la kantona ĉefvojo n-ro 6 de Moutier al Delemonto. La stacidomo ĉe la trajnlinio de Svisaj Federaciaj Fervojoj de Bielo al Bazelo ne plu estas servata ja de kelkaj jaroj. Nuntempe la komunumo Roches estas konektita al la publika transportreto per la buslinio de Moutier al Delemonto. Norde de Roches ekzistas alveturejo al la svisa aŭtovojo A16.