The "PID" in a PID controller is named for proportional, integral, derivative feedback sources. As @Simson points out, when boiling a liquid, energy must be added to the system when the boiling point is reached, so the "set point" is not attained while boiling.
A proportional-only (P) controller has has an output that is proportional to the "error," or difference between the set point and the actual temperature, which means that that a difference must always exist for there to be an output - a problem in most applications, but in your case desirable, since you will never reach the set point while boiling.
In most applications, the integral term is used to eliminate this error by adding to the output so that the output reaches the target point and the error goes to zero. In your case, this integral contribution would continue to grow and the energy to your heater would continue to increase while boiling because the error would remain, as it will not be possible to reach the target until the liquid is boiled off.
The differential term measures the rate of change of the error, and is used to control how quickly the error is reduced. In your case, the temperature can change more rapidly when the cup is empty and the specific heat is lower, so the "D" term will allow you to adjust how much energy is applied under the varying condition of a full, half-full or empty cup.
Since you want to maintain constant output when you are below your set point (while you are boiling) and you want to control the rate at which your cup temperature increases to limit overshoot, you want a "PD" controller, or a PID controller in which the "I" term is zero. Your set point must be set above the boiling point and you will first choose a "P" term that provides the desired output power level while boiling. Then you can increase the "D" term, allowing you to control your rate of temperature rise and reduce overshoot in the varying conditions.
The "P" term in your PID means that the output current is directly proportional to the difference between the measured temperature and your set point. This means that when you are cold (farther away from your set point) more output current is supplied, and this value decreases as you get closer to your set point. With "P" only, you can never stabilize at your set point because then your error would be zero, and your output would be zero, so you would cool down. You will stabilize at a temperature lower than your set point.
Your PID controller may have an internal relay. The controller does not actually change the current supplied to the heating element; instead it changes the duty cycle of application of power. If you are running a solid state relay, there are no internal components to wear out, so you can run at a relatively high frequency; for instance, a 50% duty cycle could be one second on, one second off. When using a mechanical relay it is common to increase the switching period to reduce the number of making and breaking contacts. The same 50% duty cycle might be 30 seconds on, 30 seconds off. The reduction in wear on the relay is achieved, but the cost is that the temperature will dither around the set point.
Most modern PID controllers have a "learning" feature, which can be used to allow the oven to automatically arrive at a set of PID constants. These algorithms depend on a smooth thermal time constant and heat loss function, which your system will not have. You will have to disable the learning feature or your controller will change its PID constants and you'll have overshoot again.
So in your case, start with the both the "I" and "D" constants at zero, and put your set point above your boiling point by 10 degrees or so. When your system hits the boiling point, the temperature will be constant. The error will be constant, and you will be adding a constant power to the system. Adjust the "P" constant and/or the set point until you are happy with the rate of boiling off your liquid. Don't put your set point too high above your boiling point, because once your liquid is boiled off, the system will head towards this value.
Now you can adjust your "D" constant. This constant measures the derivative (how fast the temperature is changing) and provides negative feedback to "slow it down" when it is moving quickly. When you reach your boiling point, your temperature will not be changing, so the derivative will be zero and the contribution from this constant will also be zero. So, the system will behave exactly the same way at the boiling point as it did when the "D" constant was zero. However, when your liquid is boiled off, the temperature will start to rise, and the magnitude of the derivative will increase. The feedback contribution from "D" will act as a "brake" and slow the rate of increase. Adjust this value until you get what you want. Note that making this value large will also tend to increase the time required to heat your system up from a cold state, but you can certainly reduce the overshoot.