G-code for 3-axis arc? GRBL
This should be possible in GRBL 1.1, see examples below.
Disclaimer: I have never used neither GRBL nor arcs (G2, G3) in practice.
Support for arcs in G-code
In general, in IJK variant where the arc is described by three points (starting, end, center) anything seems possible, including the rainbow-like moves. I imagine (I,J,K) coordinates as imaginary arrow's nock for bent bow. By moving it around, you will &quot;reshape&quot; the bow as needed. I actually found similar CNC Arc Programming Exercise, including:
G01 X40 Z-25
G03 X70 Z-75 I-3.335 K-29.25

and very interesting Quick G-Code Arc Tutorial on CNC Cookbook. It presents R variant example of helical moves (tread milling) with Z decreasing in steps (relative positioning):
G03 X0.0939 Y0.0939 Z0.0179 R0.0939
G03 X-0.1179 Y0.1179 Z0.0179 R0.1179
G03 X-0.1185 Y-0.1185 Z0.0179 R0.1185

Support for acrs in GRBL
I found similar question in Duet3d forum: Caution! - STL Resolution. There is a sentence:

On GRBL you get some planar support (pick any two axes, eg XZ, but not three). (...) Some controllers even implement a helix mode.. but no standards exist.

So the support in GRBL may be limited. However this comment seems to be in condtradiction to the official GRBL README.md, saying:

List of Supported G-Codes in Grbl v1.1:
(...)

Arc IJK Distance Modes: G91.1


I leave a practical proof to you now.