The extension of a three-dimensional, strictly conservative Cartesian cut-cell based method to simulate flows bounded by complex geometries with moving parts like in-cylinder flows is presented. The method handles complex geometric details of three-dimensional technical objects such as sharp edges and acute-angled features, which may lead to cells which are multiply cut by the geometry and possibly split into separate parts. Moving boundaries are represented by the zero-contour of an advected level-set function. The method is applied to compute full engine cycles. An analysis of the types of cut cells generated for several realistic engine geometries is given. Furthermore, the flow of an internal combustion engine with a moving piston and opening/closing valves is discussed.