Rotating a spaceship

I’m building a Starfox clone, and I want the ship to tilt ever so slightly based on player input, then return when the player releases the input, as a primarily cosmetic effect. Here’s the relevant code:

            float pitch = -axis.y * pitchSize;
            float roll = -axis.x * rollSize;

            var ea = ship.transform.localEulerAngles;
            ea = Vector3.Lerp(ea, new Vector3(pitch, 0, roll), tiltSpeed);
            ship.transform.localEulerAngles = ea;

Where ship is a child of my gameObject.
When tilting to one side, it behaves exactly as I expect. When tilting to the other, the model spazzes out. What am I missing?

So, on the theory that Euler angles don’t play nice with negative numbers (and Slerp did not fix this for me,) I just made sure to translate ea into and out of zero-based rotation space.

            var ea = model.transform.localEulerAngles;
            if (ea.x >= 180) ea.x -= 360; if (ea.z >= 180) ea.z -= 360;
            ea = Vector3.Lerp(ea, new Vector3(pitch, 0, roll), tiltSpeed);
            if (ea.x < 0) ea.x += 360; if (ea.z < 0) ea.z += 360;
            model.transform.localEulerAngles = ea;

It worked.